目标文件

      大部分编译器将高级语言源代码转换成目标文件格式。目标文件格式是一种中间文件格式,

包含机器指令、运行时期的二进制数据及一些元信息。链接器根据元信息将各个目标模块合

并在一起,生成完整的可执行文件。

      通常来说,真正的可执行文件格式(例如:Linux的ELF格式,Windows的PE格式)与目标

文件格式相似,主要区别在于可执行文件中一般没有未解析的外部引用,在文件布局上也有一

实践上的区别。目标文件通常设计得尽量小,而可执行文件则往往设计成尽可能快地调入内存,

即使这样会使它的体积增大。

      最常见的目标文件格式是COFF---Common Object File Format。Windows的PE格式

就是对COFF稍加了改动。

    COFF的基本布局如下:

   

 

注:本文内容部分参考

     1.《WRITE GREAT CODE》 VOLUME2:THINKING LOW-LEVEL,WRTING HIGH-LEVEL

     2. 《Understanding and Using COFF》

posted @ 2011-06-19 13:14  范宇超  阅读(394)  评论(0)    收藏  举报