GCC常用选项

-E 
  只激活预处理。该选项不生成文件。如果需要,可以将其输出重定向到一个文件里面. 
  例子用法: 

  gcc -E hello.c > hello.E

-S 
  激活预处理和编译,即将文件编译为汇编代码。 
  例子用法 
  gcc -S hello.c 
  输出为.s的汇编文件

-c 
  激活预处理,编译,和汇编,即将文件编译为。o文件 
  例子用法: 
  gcc -c hello.c 
  输出为.o的目标文件

-x language
  
设定文件所使用的语言,使后缀名无效,对以后的多个有效. 根据约定,C语言的后缀名称是.c,而C++的后缀名是.C或者.cpp. 这个参数对他后面的文件名都起作用,除非到了下一个参数的使用。 

  可以使用的参数有: 
  `c'', `objective-c'', `c-header'', `c++'', `cpp-output'', `assembler'', and `assembler-with-cpp''. 
  例子用法: 
  gcc -x c hello.pig 
-x none filename 
  关掉上一个选项,即让gcc根据文件名后缀,自动识别文件类型 
  例子用法: 
  gcc -x c hello.pig -x none hello2.c 

-o 
  指定目标名称,缺省值是a.out
  例子用法 
  gcc -o hello hello.c

-Dmacro 
  相当于C语言中的#define macro 
-Dmacro=defn 
  相当于C语言中的#define macro=defn 
-Umacro 
  相当于C语言中的#undef macro 

-C 
  在预处理的时候,不删除注释信息,一般和-E使用,如果需要分析程序,可以使用该选项 
-M 
  生成文件关联的信息,包含目标文件所依赖的所有源代码

   例子用法:

   gcc -M hello.c

   hello.o: hello.c /usr/include/stdio.h /usr/include/features.h \
   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
   /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h \
   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
   /usr/include/bits/typesizes.h /usr/include/libio.h \
   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
   /usr/include/gconv.h \
   /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h \
   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
-MM 
  和上面的那个一样,但是它将忽略由#include<file>造成的依赖关系
-MD 
  和-M相同,但是输出将导入到.d的文件里面
-MMD
  和-MM相同,但是输出将导入到.d的文件里面

-Wa,option
  此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序

-Wl.option 
  此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序.

-O0 
-O1 
-O2 
-O3 
  编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高(建议使用-O2)  
-g1

-g2

-g3
  指示编译器在编译的时候产生调试信息,级别越高,产生的调试信息越详细(建议使用-g3)

-ggdb 
  此选项将尽可能的生成gdb的可以使用的调试信息
-static 
  此选项将禁止使用动态库,因此编译出来的目标文件一般比较大,而且不需要动态连接库就可以运行. 
-share 
  此选项将尽量使用动态库,因此生成文件比较小,但是需要系统的动态库

-I

   指定包含头文件的路径

-L

   指定动态度的路径

-Wall

   显示所有的警告信息

-Werror

   将警告当作错误处理,即编译中遇到警告时,编译器即报错,并停止编译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值