gcc-g++参数¶
-
编译步骤
-
预处理,生成.i文件
- 将预处理后的文件转换成汇编语言,生成.s文件
- 由汇编变为目标代码,生成.o文件
- 连接目标代码,生成可执行程序
-
常用参数
-
-c
只激活预处理、编译、汇编,不连接,生成obj(*.o)文件
- -o
指定目标文件名称
- -S
预处理+编译,不进行汇编连接
- -E
只进行预处理
- -O0/-O1/-O2/-O3
编译器优化的4个级别,-O0没有优化,-O1为默认值,-O3优化级别最高
- -g
在编译时产生调试信息
- -ggdb
尽可能生成gdb可以使用的调试信息
- -w
不生成任何警告信息
- -Wall
生成所有警告信息
- -Wl,-options1,-options2
连接选项
- -LLIBRARY
连接时搜索指定的函数库
- -IDIRECTORY(这是大写的i)
指定额外的头文件搜索路径
- -nostartfiles -nostdlib
需要脱离linux运行裸机,-nostartfiles不连接系统标准启动文件,-nostdlib包含了-nostartfiles,以及标准库
- -static
静态连接共享库文件
- -shared
连接多个目标文件,生成一个.a结尾的共享库文件