wsgyj

 

C语言编译过程

C编译的整个过程很复杂,大致可以分为以下四个阶段:
1)预处理阶段
在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。
2)编译、优化阶段
编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。
优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。
3)汇编阶段
将汇编语言翻译成机器指令
4)链接阶段
链接阶段的主要工作是将有关的目标文件连接起来,即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的目标文件成为一个能够被操作系统装入执行的统一整体。

posted on 2009-09-09 16:00 gyj 阅读(787) 评论(1)  编辑 收藏 引用 所属分类: C知识

评论

# re: C语言编译过程 2009-09-11 19:58 zhaoyg

up 一个  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜