GCC选项_持久总结更新

1.-gLevel   产生符号调试工具(GNU的gdb)所必要的符号信息
eg:
gcc -g3 HelloWorld.c -o HelloWorld.exe

2.-Wall 
-Wall  开启编译器几乎所有常用的警告── 强烈建议你始终使用该选项。编译器有很多其他的警告选项,但   -Wall  是最常用的。默认情况下GCC 不会产生任何警告信息。当编写 C 或 C++ 程序时编译器警告非常有助于检测程序存在的问题。
eg:gcc -g -Wall HelloWorld.c  -o HelloWorld.exe

3.-o
选项 -o 可用来指定生成的对象文件的文件名。该选项通常作为命令行中的最后一个参数。
eg:
gcc -E HelloWorld.c -o HelloWorld.i
将预编译的结果重定向至HelloWorld.i文件中

4.-E  
编译预处理
eg:

选项 -E 使 gcc 将源代码用编译预处理器处理后不再执行其他动作。下面的命令预处理源码文件 helloworld.cpp 并将结果显示在标准输出中:

$ gcc -E helloworld.c

本文前面所列出的 helloworld.cpp 的源代码,仅仅有六行,而且该程序除了显示一行文字外什么都不做,但是,预处理后的版本将超过 1200 行。这主要是因为头文件 iostream 被包含进来,而且它又包含了其他的头文件,除此之外,还有若干个处理输入和输出的类的定义。

预处理过的文件的 GCC 后缀为 .i,它可以通过 -o 选项来生成,例如:

$ gcc -E helloworld.c -o helloworld.i
 
 
5.-S
选项 -S 指示编译器将程序编译成汇编语言,输出汇编语言代码而后结束。

下面的命令将由 C源码文件生成汇编语言文件 helloworld.s:

$ gcc -S helloworld.c

生成的汇编语言依赖于编译器的目标平台。

6.-o

选项 -c 用来告诉编译器编译源代码但不要执行链接,输出结果为对象文件。文件默认名与源码文件名相同,只是将其后缀变为 .o。例如,下面的命令将编译源码文件 HelloWorld.cpp 并生成对象文件 HelloWorld.o:

$ gcc -c HelloWorld.c
7.-OLevel
-O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。级别为0~3,级别越大优化效果越好,但编译时间越长。0表示不优化。
eg:#gcc -O1 test.c -o test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值