C程序的编译过程

c程序的编译过程主要有以下几个过程:

C预编译处理成i-------------再编译成.s-------------通过汇编.o-------然后再通过链接程序为.exe

一、预处理阶段

读取C语言源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。

关键字:gcc -E

首先呢,我们先写一个one.c程序来测试一下

 

 

我们通过在控制台输入cmd进入dos界面

  1. 我们先把one.c 预编译处理成p.i

 

我们通过subline或者是text编译器可以打开p.i来看一下p.i里面究竟是什么东西, 我们通过subline打开p.i文件

 

二、编译阶段

经过预编译得到的输出文件中,将只有常量,如数字、字符串、变量的定义,以及C语言的关键字。

关键字:gcc -S

 

我们再把p.i 编译成p1.s

 

 

我们通过subline或者是text编译器可以打开p1.s来看一下p1.s里面究竟是什么东西, 我们通过subline打开p1.s文件

 

3、汇编过程

汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。

关键字:as

 

把p1.s通过汇编成p2.o

 

我们再打开p2.o

 

 

4、链接过程:

链接程序的主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来。

关键字: gcc

将p2.o链接成p3.exe

 

我们可以打开p3.exe的文件

 

 

我们可以运行一下p3.exe

 

 

好了, 这就是我们c程序的编译过程

posted on 2015-10-28 15:19  逆天的飞翔  阅读(628)  评论(0)    收藏  举报