【C++】C++编译流程总结

学而不思则罔,思而不学则殆


引言

cpp文件是怎么编程exe的可执行文件的呢?一般我们可能没有关心,编译器直接帮我们解决了,但是我觉得作为一名从业者,想要了解更多,还是需要了解更多的。

编译总结

整个C++(C)的编译过程如图:
在这里插入图片描述
源代码会经过预处理,编译,汇编和链接四步.
每一步的命令如下。以main.cpp为例

# 编译流程
## 1 生成预处理文件
g++ -o main.ii -E main.cpp

## 2编译- 生成汇编文件
g++ -o main.s -S main.cpp
g++ -o main.s -S main.ii

## 3生成目标文件-二进制码
g++ -o main.o -c main.cpp
g++ -o main.o -c main.s

## 4生成exe文件
g++ -o main.exe main.cpp
g++ -o main.exe main.o

## 5执行
mian

编译过程测试

源代码文件很少,就打印Hello World
在这里插入图片描述

第一步,预处理

生成预处理文件。

## 1 生成预处理文件
g++ -o main.ii -E main.cpp

在这里插入图片描述
开打main.ii文件,首先你会发现这个文件很长,感兴趣的可以仔细看看,滑到最后才是我们自己写的hello World源代码。
在这里插入图片描述

第二步,编译

## 2编译- 生成汇编文件
g++ -o main.s -S main.cpp
g++ -o main.s -S main.ii

在这里插入图片描述
这个.s文件就很小了,打开看看,发现里面都是汇编语言。

在这里插入图片描述

第三步,汇编

## 3生成目标文件-二进制码
g++ -o main.o -c main.cpp
g++ -o main.o -c main.s

在这里插入图片描述
这个文件打开我们就不能看了,因为已经是机器码了。
在这里插入图片描述

第四步,链接

## 4生成exe文件
g++ -o main.exe main.cpp
g++ -o main.exe main.o

在这里插入图片描述
生产了exe的可执行文件。

第五步,执行

在这里插入图片描述

总结

整体流程如上,一般编译器帮我们解决了中间过程。但是作为了解我们也需要知道中间过程,便于我们学习和研究。比如学习汇编语言。

以上,与君共勉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值