gcc 编译选项常用参数
GCC(GNU编译器套件):GNU Compiler Collection。可以编译C、C++、JAVA、Fortran、Pascal、Object-C、Ada等语言
gcc是GCC中的GNU C Compiler(C 编译器)
g++是GCC中的GNU C++ Compiler(C++编译器)
c++ 编译流程
预处理==>编译==>汇编==>链接
1. 预处理(-E
)
把#include
语句以及一些宏插入程序文本中,得到*.i
文件。
g++ -E main.cpp -o main.i
2. 编译(-S
)
将文本文件*.i
文件编译成文本文件 *.s
的汇编语言程序。
g++ -S main.i -o main.s
3. 汇编(-c
)
将*.s
翻译成机器语言的二进制指令,并打包成一种叫做可重定位目标程序的格式,并将结果保存在*.o
文件中。
g++ -c main.s -o main.o
4. 链接(-o
)
合并全部*.o
文件,得到可执行文件。
g++ main.o -o main
5. 预处理、编译、汇编合并
g++ -c main.cpp -o main.o
g++ main.o -o main
6. 预处理、编译、汇编、链接合并
g++ main.cpp -o main
参考链接:
https://zhuanlan.zhihu.com/p/471192789?utm_id=0