1. gcc常用选项

-c

编译生成目标文件(Relocatable),详见第 2 节 “main函数和启动例程”

-Dmacro[=defn]

定义一个宏,详见第 3 节 “条件预处理指示”

-E

只做预处理而不编译,cpp命令也可以达到同样的效果,详见第 2.1 节 “函数式宏定义”

-g

在生成的目标文件中添加调试信息,所谓调试信息就是源代码和指令之间的对应关系,在gdb调试和objdump反汇编时要用到这些信息,详见第 1 节 “单步执行和跟踪函数调用”

-Idir

dir是头文件所在的目录,详见第 2.2 节 “头文件”

-Ldir

dir是库文件所在的目录,详见第 3 节 “静态库”

-M-MM

输出“.o文件: .c文件 .h文件”这种形式的Makefile规则,-MM的输出不包括系统头文件,详见第 4 节 “自动处理头文件的依赖关系”

-o outfile

outfile输出文件的文件名,详见第 2 节 “main函数和启动例程”

-O?

各种编译优化选项,详见第 6 节 “volatile限定符”

-print-search-dirs

打印库文件的默认搜索路径,详见第 3 节 “静态库”

-S

编译生成汇编代码,详见第 2 节 “main函数和启动例程”

-v

打印详细的编译链接过程,详见第 2 节 “main函数和启动例程”

-Wall

打印所有的警告信息,详见第 4 节 “第一个程序”

-Wl,options

options是传递给链接器的选项,详见第 4 节 “共享库”