gcc/g++命令参数

Posted wangdongfang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc/g++命令参数相关的知识,希望对你有一定的参考价值。

在windows环境下,我们运行一程序,只需要在VS中点击运行按键即可,VS帮我们做完了程序的预处理、编译、汇编、链接阶段
但是在linux环境下,我们只能借助gcc/g++完成这一系列的操作
-o参数:g++ main.cpp -o main
  -o:output的意思,指将main.cpp输出为main。如果不指名具体的执行文件名(g++ main.cpp),将会在同级目录下生产a.out文件
-E参数:g++ -E main.cpp -o main.i
  -E:prEprocessing的意思,该过程完成:宏替换、去注释、头文件展开、添加行号等动作
-S参数:g++ -S main.i -o main.s
  -S:aSsemble(汇编)的意思。该过程将源码变为汇编代码
-c参数:g++ -c main.s -o main.o
  -c:compile编译的意思。该过程将一系列的汇编代码,变成机器代码
当然我们可以在整个编译链接阶段加入额外的参数进行控制,如:
 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。
 -O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。
 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。
 -Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。C程序中的头文件包含两种情况∶















以上是关于gcc/g++命令参数的主要内容,如果未能解决你的问题,请参考以下文章

gcc/g++ 参数顺序

gcc与g++:联系区别和命令

gcc/g++基本命令

gcc/g++命令

gcc/g++ 编译参数

gcc/g++常用命令