linux gcc常用编译选项总结

对于编译源码,Makefile中会用到大量的gcc选项,所以熟悉gcc编译选项对于学习Makefile至关重要。

  1. -c:只激活预处理,编译,和汇编,也就生成obj文件
  2. -S:只激活预处理和编译,就是指把文档编译成为汇编代码。
  3. -E:只激活预处理,不生成文档,需要把他重定向到一个输出文档里。
  4. -o:定制目标名称,缺省的时候gcc 编译出来的文档是a.out
  5. -ansi:关闭gnu c中和ansi c不兼容的特性,激活ansi c的专有特性。
  6. -Dmacro:相当于C语言中的#define macro
  7. -Dmacro=defn:相当于C语言中的#define macro=defn
  8. -Umacro :相当于C语言中的#undef macro
  9. -Idir:指定头文件路径。
  10. -llibrary:指定库
  11. -Ldir:定制编译的时候,搜索库的路径。
  12. -g:指示编译器,在编译的时候,产生调试信息。
  13. -static:此选项将禁止使用动态库,所以,编译出来的东西,一般都很大。
  14. -share:此选项将尽量使用动态库,所以生成文档比较小,但是需要系统由动态库。
  15. -O0 -O1 -O2 -O3:编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
  16. -Wall:会打开一些很有用的警告选项,建议编译时加此选项。
  17. -std:指定C标准,如-std=c99使用c99标准,-std=gnu99,使用C99 再加上 GNU 的一些扩展。

你可能感兴趣的:(Linux,gcc,linux,编译)