gcc 编译各阶段及所用编译参数

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++ 编译流程

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

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值