Linux下 编译C++/C以及常用的几种命令(ubuntu)

来源:互联网 发布:上网端口号是什么 编辑:程序博客网 时间:2024/05/17 10:08

今天有学弟问我一个C的问题,本来想着用java解决一下,结果发现某些语句是不通的,后来下载安装了codeblocks,尝试的过程中总是提示没有最高的执行权限,我日......后来想到用g++来编译,无奈本人一直搞java,只好现学现卖,为大家整理了点资料看看

在编译之前我们需要在系统里安装G++ GCC,它们就是Linux下的C++/C的编译器。代码如下

安装命令:
sudo apt-get install build-essentialsudo apt-get install gccsudo apt-get install g++

C的编译运行

现在我们在文本编辑器里写一个C的简单的程序(好像所有学习C或者C++的书都会出现)
#include <stdio.h>int main(){    printf("Hello,World!\n");    return 0;}

现在存盘为Hello.c,打开你的终端,并在文件当前目录输入:
gcc Hello.c -o hello   

然后在终端中输入sudo  ./hello ,你就能在终端中看到程序运行结果了。


下面来说下C++是如何编译的

写程序(不用我多说了吧)
代码:

#include <iostream>using namespace std;
int main(){    cout<<"HelloWorld"<<endl;    return 0;}

存盘为Hello.cpp
然后使用g++命令来编译
g++ Hello.cpp -o hello


多文件的编译:这里给出三个源文件Hello.h, Hello.cpp, MyFirst.cpp

//file_NO1:Hello.hclass Hello {     public:      Hello();     int Display();};//file_NO2:Hello.cpp#include <iostream>#include "Hello.h"using namespace std;Hello::Hello(){}int Hello::Display(){    cout<<"Hello,World!\n"<<endl;     return 0;}//file_NO3:MyFirst.cpp#include <iostream>#include "Hello.cpp"int main(){    Hello theHello;    theHello.Display();    return 0;}

在g++中有一个参数-c 可以只编译不连接,那么我们就可以按如下顺序编译文件,
代码:

g++ -c Hello.cpp -o Hello.o
g++ -c MyFirst.cpp -o MyFirst.o
g++ MyFirst.o Hello.o -o MyFirst


你是否会问,如果是一个项目的话,可能会有上百个文件,这样的编译法,人不是要累死在电脑前吗,或者等到你编译成功了,岂不是头发都白了,呵呵,所以我们要把上述的编译过程写进以下一个文本文件中:
#这里可以写一些文件的说明MyFirst: MyFirst.o hello.og++ MyFirst.o hello.o -o MyFirstHello.o:Hello.cppg++ -c Hello.cpp -o Hello.oMyFirst.o:MyFirst.cppg++ -c MyFirst.cpp -o MyFirst.o


程序的调试:

存盘为MyFirst,在终端输入:make MyFist ,程序出现了错误可是所有程序员共同的敌人,在编写程序时我们应该尽量的去避免错误的出现,不过编写的时候再怎么都不可避免的出现这样那样的错误,对程序进行必要的调试是一个好主意,那我们怎么来调试程序呢,看下面:
gdb ./文件名以下为调试状态下的可以用到的命令(可以仅输入单词的输入,如break可简为b),尖括号中为说明list <显示源代码>break 行号 <设置断点>run <运行程序>continue <继续从断点处执行>print 变量 <调试时查看变量的值>del 行号 <删除断点>step <单步执行,可跟踪到函数内部>next <单步执行,不可跟踪到函数内部>quit <退出>

It's never too late to learn!!!保持正确的姿态去学习,总有一天抵达成功的彼岸!!!

0 0
原创粉丝点击