常用gcc编译选项总结

对gcc编译选项做一个简要总结。

  • -c 只进行预处理、编译和汇编,不进行链接,生成.o文件
  • -S 进行预处理和编译,生成.s汇编代码
  • -E 只进行预处理,生成.i文件
  • -o 指定目标文件名
  • -ansi 关闭gnu中与ansi c不兼容特性
  • -Dmacro 相当于C语言中#define macro
  • -Dmacro=defn 相当于C语言中#define macro defn
  • -Umacro 相当于#undef macro
  • -Idir 指定头文件路径
  • -nostdinc 让编译器不在系统默认头文件目录找头文件,一般与-I联合使用
  • -M 生成文件关联信息,即所依赖的源文件和头文件
  • -llibrary 指定编译时使用的库
  • -Ldir 编译时指定库的路径
  • -O0 -O1 -O2 -O3 指定优化等级,默认为-O1,最高优化为-O3
  • -g 编译时产生调试信息
  • -ggdb 尽可能的生成gdb的调试信息
  • -gstabs 以stabs格式生成调试信息,不包括gdb
  • -gstabs+ 以stabs格式生成调试信息,并包含仅供gdb使用的额外调试信息
  • -static 禁止使用动态库
  • -shared 生成共享目录文件,用于创建共享库
  • -Wall 生成所有警告信息

你可能感兴趣的:(cpp,c++,c语言)