什么是对象文件(Object File)?

目标文件是由一个名为编译器的程序生成的计算机文件,它包含数据和指令。编译器将编程语言源代码转换为中间的机器可读形式,即目标代码。较小的程序可以在单个目标文件中编译,而较大的程序通常被编译成具有相关功能的几个...
目标文件是由一个名为编译器的程序生成的计算机文件,它包含数据和指令。编译器将编程语言源代码转换为中间的机器可读形式,即目标代码。较小的程序可以在单个目标文件中编译,而较大的程序通常被编译成具有相关功能的几个文件。这些单独的目标文件通过一个链接器连接起来,并添加操作系统特定的信息,以形成一个可执行程序。通常情况下,一个目标文件用“.obj”文件扩展名表示。这些文件有几种不同的格式,但是,最常见的是Intel®Relocatible Object Module Format(OMF),以及Windowsreg和UNIX®System V的通用对象文件格式(COFF)。在许多INIX®系统中,可执行和可链接格式(ELF)已取代COFF。无论格式如何,一个对象文件通常包含三种类型的信息与其它程序模块进行交互。对外部引用开放的过程和数据都被赋予名称,可以从其它模块调用它们。同样,对模块外信息的引用也会被标记,但不指定名称。当文件被链接时,未命名的引用将被赋予在中给定的名称最初定义它们的模块。本地名称用于在模块中单独引用的指令和数据。并非所有可链接的代码都存储为对象文件。库是作为目标代码存储的预编译例程的集合。它们的生成方式与目标文件基本相同,对存储经常调用的过程。当链接器在其他对象文件中找不到引用时,它会自动在库文件中搜索它。大多数编程语言的实现都带有一个标准函数库通过动态链接,一个对象文件可以被多个正在执行的程序同时使用。与链接时将对象代码绑定到程序不同,它是在加载程序时或在运行时引用过程时检索的。在Windows®环境中,这些被称为动态链接库,用扩展名“.dll”。与Unix®类似的系统通常将这种类型的文件称为动态共享对象(DSO)。这种类型的对象文件也可以用于特定的程序,并且是该程序安装的一部分
  • 发表于 2020-08-06 21:34
  • 阅读 ( 3350 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具