-E
对源文件进行预处理,生成.i文件
-S
生成汇编语言文件(.s文件)
-c
生成.obj文件
-o file
生成可执行文件;和上面几个选项配合使用时,用于生成指定文件名的中间文件
-ansi
关闭GNU C中与ANSI C不兼容的特性,激活ANSI C的专有特性
-Idir
指定dir为头文件的搜索目录
-lfile
指定编译时引用的库文件
-Ldir
指定dir为库文件的搜索目录
-g
生成调试信息
-ggdb
生成gdb可以使用的调试信息
-w
禁止输出警告信息
-Wall
生成所有警告
-Werror
将所有警告信息转为错误
-static
强制使用静态链接库
-share
强制使用动态链接库
-D
定义宏
-O0
-O1
-O2
-O3
编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-M
查看target的依赖关系
-MD
-MD 与 -M -MF file是等同的只是没有隐式包含-E
-MF file
指定依赖关系的输出文件
-MT target
指定新的target的文件名
-MP
生成所有头文件的phony target