目标文件由哪一步产生

目标文件由哪一步产生,第1张

目标文件是从源代码文件产生程序文件这一过程的中间产物,链接器正是通过把目标文件链接在一起来生成可执行文件或库文件。

目标文件格式有许多不同戚友的种类。最初每种类型计算机都拥有自身独特的格式,但随着Unix和其他可移植 *** 作系统的问世,人们定义了例如COFF和ELF这些格式,并在不同的系统上使用它们。通常,链接器的输入和输出使用相同的文件格式,库文件和可执行文件格式也是一样使用相同的格式。

设计或选择一种目标文件格式是计算系统整体设计的关键部分。它影响着链接器的性能并因此影响着程序员在开发时的总耗时;如果格式是用于可执行文件,那么格式的设计还会影响程序的开始运行花费的时间,以及影响到系统对用户请求的反应速度。

大部分目标文件格式高态槐以区块的方式来组织,每一区块中都装载着同种数据。在虚拟内存系统需要这些块的时候,它可以通过将这些块分页后调入,无需进一步地处理就可使用。

最简单的目标文件格式是DOS的COM文件格式,它是一种仅仅由原始数据组成的文件。COM格式的文件始终被加载到某固定位置。其他的格式都由一组复杂精密的数据结构序列组成,这些格式的规范说明书一般会有许多页。

调试信息可以是目标文件格式中的一个组成部分,就像COFF中的那样,或是一种可能被数个目标格式使用的半独立格式,如stabs或DWARF。

目标文件是从源代码文件产生程序文件这一过程的中间产物,链接器正是通过把目标文件链闭碧接在一起来生成可执行文件或库文件。

编译程序不会产生目标文件不对。誉冲根据查询相关资料信息:虽然常用的集成开发环境把编译过饥晌程及链接过程连在一起,但从严格意义上讲,我们通常说的编译(静态编译)是把源程序转换成语义等价的目标程序,然后由链接器(linker)把一个(或庆肢歼多个)目标程序与程序库链接成可执行文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8147216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存