arm嵌入式开发
分类: C/C++
2013-11-09 12:55:25
gcc 与 g++ 区别
(1)gcc和g++都是GNU(组织)的一个编译器。
(2)后缀名为.c的程序和.cpp的程序g++都会当成是c++的源程序来处理。而gcc不然,gcc会把.c的程序处理成c程序。
(3)对于.cpp的程序,编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。(个人觉得这条是最重要的)
4。 c++ 头文件一般不加.h后缀,否则编译时会产生警告( using namespace std;)
警告选项:
g++ -Wall -W atest.cpp -o atest 显示所有警告
g++ -Wreturn-type atest.cpp 警告函数声明返回值但没有包括返回语句
g++ -Wcomment atest.cpp -o atest 警告寻找是否发生了注释类错误优化:
优化选项以-O开始,单独使用或者加上数字0,1,2,3之一。
如: gcc -O1 welcome.cpp; -O0为缺省设置,不优化
特定优化:
-ffast-math 选项以-f开始,加上选项名。-f后面没有空格
如: g++ -fno-inline -O1 welcome.cpp
优化后的可执行代码和未优化的可执行代码是不同的,要注意