汇编程序.c到a.out的生命历程

使用gcc编译程序时,编译过程可以分为四个阶段:

1.预处理阶段

预处理阶段就是将头文件中的内容加载到.c文件的上方。


输入命令gcc -E test.c -o test.i。执行-E命令,只对.c文件进行预编译,不做其他操作。将生成文件命名为test.i


2.编译阶段

编译阶段会进行词法分析,语法分析,语义分析。

shell中输入命令“gcc -S test.i -o test.s”。执行-c命令,只对.i文件进行编译,不做其他操作。将生成文件命名为test.s


3.汇编阶段

汇编阶段会把汇编程序翻译成目标文件,即二进制文件

在shell中输入命令“gcc -c test.s -o test.o”。执行-S命令,只对.s文件进行汇编,不做其他操作。将生成文件命名为test.o


4.链接阶段

链接阶段会把程序中所有的目标文件和所需的库文件都链接在一起,生成可执行文件。

在shell中输入命令“gcc test.o -o test”。执行命令,对.o文件进行链接。将生成的可执行文件命名为test


以上就是个人总结的汇编程序从.c到a.out的生命历程,`(*∩_∩*)′

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值