a.out

✍ dations ◷ 2025-05-09 19:12:58 #可执行文件格式

a.out是旧版类Unix系统中用于执行档、目的码和后来系统中的函数库的一种文件格式,这个名称的意思是汇编器输出。

尽管目前大多数类Unix系统都已改用ELF格式,不再采用格式,但编译器和链接器依然会在用户未指定文件名时,将输出文件取名为“a.out”。

在UNIX第一版中,就出现了给PDP-7和PDP-11用的格式。之后它被UNIX System V中的COFF所取代,而COFF最后也被SVR4中的ELF格式所取代。

尽管BSD曾经沿用了一段时间的格式,但较新的BSD系统都已切换到ELF。NetBSD/i386在1.5版中正式从切换到ELF,FreeBSD/i386则是在2.2到3.0的转换中切换到ELF的。

格式对调试信息的支持是由符号表中称作“stabs”的特殊项实现的。许多COFF和ELF变体中也用到了stabs格式。

Linux在1.2版内核之前也曾使用格式(实验性的1.1.52版中加入了对ELF的支持),在此之后也被ELF取代了。 Linux之所以转向ELF,或多或少是因为在此平台上构建一个格式的函数库所需的复杂性过高:因为Linux中的ld.so不能重定位共享函数库,所以需要一个中央机构来注册各个函数库的虚拟地址域。一些BSD变体在Linux被迫转向ELF之后仍然用了很久的格式,因为相比于Linux,BSD的略微更灵活一些。由于a.out格式的相关代码已经老旧并缺乏维护,而且已经几乎没有使用a.out格式的存在,5.1版内核决定移除相应的功能支持。

MINIX 3仍将作为二进制文件的格式,但其不支持共享函数库。

执行档通常是以下几种变体之一:OMAGIC、NMAGIC、QMAGIC或ZMAGIC。

文件包含至多七节,顺序如下:

相关

  • 生物分类总表这个列表以NCBI Taxonomy上的分类为基础。包含嗜盐菌、一些超嗜热菌、嗜酸菌等。包含放线菌、衣原体、支原体、立克次体等。包含绿藻、轮藻、苔藓植物、蕨类植物、种子植物
  • 故意伤害在中华人民共和国法律中,故意伤害罪(英语:intentional assault)是指侵犯或者损害被害人身体的行为。被害人可以是一个健康人也可以是一个本身有疾病的人,而导致病情加重或者死亡
  • 魔法魔法,是一种在现实中尚未经过证实的,催动并控制能量的方法,大多牵涉具神秘色彩的力量或是行为。广义而言的魔法(包括下文所提及的仙术、妖术等)多为依附在特定信仰体系之下,为信仰
  • 里加里加(拉脱维亚语:Rīga;立窝尼亚语:Rīgõ)是拉脱维亚的首都,北欧地区波罗的海国家中最大、最繁忙的城市,位于波罗的海岸边,道加瓦河口。里加是波罗的海国家主要的政治、经济、文化
  • 理查三世《理查三世》是英国剧作家威廉·莎士比亚的作品,逼真地描述了理查三世短暂的执政时期,该剧本被认为创作于大约1591年。这部戏剧有时被分类为悲剧(早期的四开本),但是更准确的分类
  • 地狱厨房地狱厨房(英语:Hell's Kitchen),有时也被称为“克林顿区(Clinton)”,是美国纽约市曼哈顿中城西区(英语:West Side (Manhattan))的一个近邻社区。传统上,这个近邻社区被认为是南至34街、
  • 软件开发工具软件开发工具(英语:software development tool,或programming tool)为软件开发服务的各种软件和硬件。软件开发工具根据在不同软件开发生命周期中起到的作用可以分为:
  • 伊戈尔·叶夫根耶维奇·塔姆伊戈尔·叶夫根耶维奇·塔姆(俄语:И́горь Евге́ньевич Та́мм,1895年7月8日-1971年4月12日),苏联物理学家,生于海参崴。由于在1934年发现契忍可夫辐射,塔姆在1
  • 长期变化长期变化是时间系列在长时期的非周期变化(参见分解时间系列)。无论何者被查觉是长期变化或是与时间尺度无关:在超越世纪的时间尺度上,长期变化在数百万年的时间尺度下可能是周期
  • 安全屏障安全屏障(屏障),指对环境、秩序、安全等有害要素构成阻碍、缓冲或防护作用的事务总称。