2007年4月17日

   我们知道从源文件到可执行文件,C分为两步:编译和链接。


   1>编译

   编译就是把源代码转换为中间代码。当然了,存放中间代码的文件就叫中间文件。
   那么中间文件,或者说中间代码是由什么构成呢?其形式有多种。但是我只知道一种:就是由源代码转换的机器码组成,这种中间文件叫做目标文件。
   虽然它和可执行文件一样都是有机器码组成,但是它并不能直接运行。因为它比可执行文件少了两个东东:启动代码(start-up code)和库函数。


   2>链接

   
链接就是把目标代码、相应操作系统的启动代码、库函数三者结合起来行成可执行文件。
      (启动代码):此代码相当于你的程序和操作系统之间的接口。不同操作系统处理程序的方式不同,所以它们的启动代码也不同。
      (库)      几乎每个c函数都会引用到库函数,目标文件中只有相应函数的引用声明,并没有相应代码。


   这种分两步走的做法便于程序的模块化。你可以分别编译各个模块,然后把编译过的模块链接起来。这样如果改变其中一个模块的话,只需要重新编译这个模块,而不需要编译其他模块儿。
posted @ 2007-04-17 17:22 Stone 阅读(504) | 评论 (0)编辑 收藏
仅列出标题