GCC编译的四个过程

GCC编译的四个过程分别为:预处理->编译->汇编->链接

1、预处理阶段:使用 gcc -E hello.c -o hello.i   预处理阶段完毕之后就停止编译。hello.i就是预处理之后的的文件

其中预处理过程主要是对要编译的c文件的头文件做一个处理,将#开头的头文件内容告诉处理器。

2、编译阶段:gcc -S hello.i -o hello.s  只进行编译这个阶段之后结束编译,hello.s就是编译之后的汇编代码。

编译阶段主要是检查代码的规范性,以及是否有语法错误等,检查有误则报错,检查无误则将c语言编译成汇编代码。

3、汇编阶段:gcc -C hello.s -o  hello.o 只进行汇编这个阶段。

汇编阶段就是将汇编代码转换成二进制的目标代码。

4、链接:gcc  hello.o -o hello  生成可执行的二进制文件

链接过程就是链接静态库和动态库的过程,链接静态库的时候,系统会自动寻找/usr/lib下的所有静态库来实现c文件中要实现的函数,动态库需要-L来链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值