g++/gcc命令及使用

gcc/g++在执行编译工作的时候,总共需要4步
⒈预处理,生成.i的文件[预处理器cpp]
⒉将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]
⒊由汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
⒋连接目标代码,生成可执行程序[链接器ld]
参数详解
-x language filename
设定文件所使用的语言,使后缀名无效,对以后的多个有效。也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果
你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,除非到了下一个参数
的使用。
eg:g++ -x c++ hello.pig
-x none filename(关掉上一个选项,也就是让gcc根据文件后缀名自动识别文件类型)
eg:g++ -x c++ hello.pig -x none hello2.cpp
-c
只激活预处理,编译和汇编,也就是只生成obj文件
eg:g++ -c hello.cpp
-S
只激活预处理和编译,就是只把文件编译成汇编代码
eg:g++ -S hello.cpp
-E
只激活预处理,这个不生成文件,需把它重定向到一个输出文件中。
eg:g++ -E hello.cpp > hello.txt
eg:g++ -E hello.cpp | more   (命令行中查看)
-o
制定 目标名称,缺省的g++编译出来的文件是a.out
eg:g++ -o  hello hello.cpp
eg:g++ hello.cpp -o hello
-O0,-O1,-O2,-O3
编译器优化选项的4个级别,-O0表示没有优化,-O1为缺省值,依次递增


原文地址:https://www.cnblogs.com/garfieldx/p/3381471.html