c语言编译过程学习和梳理

https://blog.csdn.net/weixin_41143631/article/details/81221777

https://zhuanlan.zhihu.com/p/106777805

main.cpp

#include <stdio.h>

int main(){
    printf("Hello world!");
    return 0;
}

在这里插入图片描述

1. 预处理

使用预处理器把源文件test.c经过预处理生成test.i文件,预处理用于将所有的#include头文件以及宏定义替换成其真正的内容。

gcc -E main.cpp -o main.i

在这里插入图片描述

2. 编译

编译阶段是检查语法,生成汇编

gcc -S main.cpp -o main.s

在这里插入图片描述

3. 汇编(Assemble)

使用汇编器将汇编文件test.s转换成目标文件test.o。

gcc -c main.cpp -o main.o
4. 链接

将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件

gcc main.o -o main.exe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值