c 源程序到可执行程序的过程

c 源程序到可执行程序的过程 

    编写一个c程序,用gcc进行编译,得到一个可执行程序。看似简单,其实gcc后台隐含执行了四个阶段步骤。


一、预处理
二、编译
三、汇编
四、链接

  下面我们通过程序具体的看一下。


这是我写的一小段代码,文件名为test.c



一 、预处理 

预处理就是对各种预处理命令进行处理,包括头文件的包含,宏定义的扩展,条件编译的选择。  此阶段生成以 (  .i )  为后缀的文件。我们可以用 -E 选项进行查看。

们可以查看test.i 的内容
                


二 、编译
 
.i 文件作为输入  产生汇编语言。 生成 ( .s ) 为后缀的文件。 我们可以用 -S 选项进行查看。


查看test.s 的内容



三  、汇编

  把汇编代码翻译成机器代码(二进制)  , 生成 .o 为后缀的文件  。我们可以用 -c 选项进行查看。



查看 test.o的内容。
完全的看不懂。


四 、 链接

将有关文件彼此连接使成为可执行文件。


我们编译test.o 文件 ,得到 a.out可执行文件。





好了 , 以上就是这四个阶段 所产生的文件 及其内容。 希望大家指出不足,共同进步。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值