g++的使用_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > g++的使用

g++的使用

 2011/10/21 7:53:45  Goldice  http://jdoc.iteye.com  我要评论(0)
  • 摘要:g++一般分为这几步:1.预处理,生成.i文件2.编译,生成.s文件(汇编文件)3.汇编,将汇编文件转化成.o文件(目标文件)4.连接目标代码,生成可执行文件-c激活预处理,编译,汇编,最后生成obj文件-S激活预处理,编译,最后生成.s汇编文件-E激活预处理,不生成文件,需要定位到一个输出文件里-o为结果文件命名-O0-O1-O2-O4编译器的四个优化级别,-O0为没有优化,-O1为默认值,-O3为优化最高级别。对于valgrind来说,-O0是最喜欢的,只是速度较慢。-O1相对
  • 标签:使用

g++?

?

一般分为这几步:

1. 预处理,生成.i文件

2. 编译,生成.s文件(汇编文件)

3. 汇编,将汇编文件转化成.o文件(目标文件)

4. 连接目标代码,生成可执行文件

?

-c ?激活预处理,编译,汇编,最后生成obj文件

-S 激活预处理,编译,最后生成.s汇编文件

-E 激活预处理,不生成文件,需要定位到一个输出文件里

?

-o 为结果文件命名

?

-O0

-O1

-O2

-O4

编译器的四个优化级别,-O0为没有优化,-O1为默认值,-O3为优化最高级别。

对于valgrind来说,-O0是最喜欢的,只是速度较慢。-O1相对-O0来说错误信息可能不够完整,但一般来说表现良好。-O2就不推荐了。

?

-Wall 使g++能够产生尽可能过的警告消息

?

对于多个文件:

g++ foo1.cc foo2.cc -o foo

相当于:

g++ foo1.cc -o foo1.o

g++ foo2.cc -o foo2.o

g++ foo1.o foo2.o -o foo

?

?

调用函数库:函数库是一些头文件(.h文件)和库文件(.a和.so文件)的集合

-I 向g++头文件搜索路径中添加新的路径

-L 向g++库文件搜索路径中添加新的路径

-l 指示g++链接的函数库,库文件命名以lib开头,故这里可以省略lib

?

库文件分为:静态链接库(.a结尾),动态链接库(.so结尾)

g++优先使用动态链接库,在动态链接库不存在的情况下使用静态链接库

可以在编译时增加-static强制使用静态链接库

?

-Dmacro 相当于C语言中的#define macro

-Dmacro=defn 相当于C语言中的#define macro=defn

-Umacro 相当于C语言中的#undef macro

?

发表评论
用户名: 匿名