当前位置: 代码迷 >> 汇编语言 >> coff是扩展名? coff 和 obj 是什么关系?该怎么处理
  详细解决方案

coff是扩展名? coff 和 obj 是什么关系?该怎么处理

热度:5682   发布时间:2013-02-26 00:00:00.0
coff是扩展名? coff 和 obj 是什么关系?
下面的内容看吐了,来自罗云彬的第三版24页

C/C++ code
不同版本的 MASM  产生的 obj 文件的格式也不相同,在 DOS 和 Win16 时期,Microsoft 使用的 obj 文件格式为 OMF 格式,到了 Win32 时期后改用了 COFF 格式,原因之一是 COFF 格式更像最终的 PE 文件,在链接的时候可以做更少的处理, MASM 从 6.11 版本开始支持 COFF 格式。用 Microsoft 的产品编写的 Win32 程序,不管是使用 VC 还是使用 MASM,都必须使用 COFF格式,因为 Microsoft 的 32 位的 Link 只支持将 COFF 格式的 obj 文件链接成 PE 文件,另外所有的导入库等支持文件的格式也全部是 COFF 格式的。


obj是扩展名吧?我搜到了, COFF格式没搜到。看上面那段话的意思是说COFF是一种obj,本来就搞不清obj是咋回事,这又来个COFF,更晕了

------解决方案--------------------------------------------------------

obj是编译后产生的,可以把它认为是中间文件,是为了方便生成exe文件,里面存放的是二进制,一般的话需要生产exe时,都需要先生成obj文件,然后再进行连接,可以连接多个obj


http://baike.baidu.com/view/1675063.htm

http://baike.baidu.com/view/1240794.htm
------解决方案--------------------------------------------------------
coff 不是扩展名,obj 是扩展名。obj 表明文件的类型,它是编译源程序后得到的种文件,目的文件。这 obj 文件,也分几种,就是上面提及的 早期的 OMF 格式和现在的 COFF 格式;有些象电影的视频文件,虽然扩展名可能都是 avi 或 rmvb,但可能有不同的编码模式,诸如什么 divx 或 xvid 或什么 H264 之类的了。
------解决方案--------------------------------------------------------
是编译器,貌似是MASM6.15之类的吧,5.0没有
------解决方案--------------------------------------------------------
ml.exe 是 Masm 的汇编编译程序,主要用来将 asm 源程序编译成 obj 文件,以便缺省是 omf 格式,使用 /coff 选项则为 coff 格式的 obj 文件。