下载此文档

COFF文件格式.doc


文档分类:办公文档 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
monObjectFileFormatCOFF(通用对象文件格式)是一种很流行的对象文件格式(注意:这里不说它是“目标”文件,是为了和编译器产生的目标文件(*.o/*.obj)相区别,因为这种格式不只用于目标文件,库文件、可执行文件也经常是这种格式)。VC所产生的目标文件(*.obj)就是这种格式。其它的编译器,(piler Collection)、ICL(Intel C/C++ Compiler)、VectorC,也使用这种格式的目标文件。不仅仅是C/C++,很多其它语言也使用这种格式的对象文件。统一格式的目标文件为混合语言编程带来了极大的方便。当然,并不是只有这一种对象文件格式。常用格式的还有OMF-对象模型文件(Object Module File)以及ELF-可执行及连接文件格式(Executable and Linking Format)。OMF是一大群IT巨头在n年制定的一种格式,在Windows平台上很常见。大家喜欢的Borland公司现在使用的目标文件就是这种格式。MS和Intel在n年前用的也是这种格式,现在都改投异侧,用COFF格式了。ELF格式在非Windows平台上使用得比较多,在Windows平台基本上没见过。做为程序员,很有必要认识一下这些你经常打交道的家伙!不过这次让我介绍COFF先!在COFF文件格式中,偏移COFF文件格式整体结构图File HeaderOptional HeaderSection HeaderSection DataRelocation DirectivesLine NumbersSymbol TableString Table    文件的结构大体上就是这样了。长得是丑了点,不过还算它的设计者有点远见。可扩充性设计得不错,以致于沿用至今。了解了文件的整体结构,现在让我们来逐个段落分析它。COFF文件一共有8种数据,自上而下分别为:1. 文件头(File Header)2. 可选头(Optional Header)3. 段落头(Section Header)4. 段落数据(Section Data)5. 重定位表(Relocation Directives)6. 行号表(Line Numbers)7. 符号表(Symbol Table)8. 字符串表(String Table)COFF文件头typedefstruct_IMAGE_FILE_HEADER{WORDMachine; //WORDNumberOfSections;//sectionDWORDTimeDateStamp;//一般是此文档生成的时间DWORDPointerToSymbolTable;//symboltable表的文件偏移地址DWORDNumberOfSymbols;//symbol表个数WORDSizeOfOptionalHeader;//0nousedinobjfileWORDCharacteristics;//0nousedinobjfile}IMAGE_FILE_HEADER,*PIMAGE_FILE_HEADER;节(节目录节数据)各个段的内容和重定位信息头(这个重定位信息头不一定每个段都有,,这个不太确定),此部分的偏移地址是由section头指定的。typedefstruct_IMAGE_S

COFF文件格式 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小42 KB
  • 时间2020-05-27