a.out

✍ dations ◷ 2025-12-04 14:51:44 #可执行文件格式

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。

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

相关

  • J01EA·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码J01(抗菌药)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Collaboratin
  • 牛角面包牛角面包(法语:croissant,本意指新月),又称羊角面包或新月面包,音译称作可颂,是用黄油烘烤出来的西式面点。对于牛角面包的由来,至今没有确切的定论。传说牛角面包起源于奥地利维也
  • 特奥雷尔阿克塞尔·胡戈·特奥多尔·特奥雷尔(Axel Hugo Theodor Theorell,1903年7月6日-1982年8月15日)是一位瑞典科学家与诺贝尔奖持有者。将一生事业专注于酶的研究的特奥雷尔,在1955
  • 碲醇碲醇(英语:tellurol)是指含有碲醇基(形如-TeH的官能团)的有机化合物。碲醇是醇和酚的类似物,其中醇的氧被替换成了碲。碲醇和硒醇、硫醇具有类似的性质,其中碲醇是最稳定的。碲醇与
  • 花儿花儿,又名少年,流行于中国西北甘肃、青海和宁夏的汉、回、土、撒拉、东乡、保安等族的一种民歌。花儿以抒情居多,通常为独唱或对唱形式。在青海又称为“少年”,演唱称“漫少年”
  • 造山纪造山纪(Orosirian,符号PP3)是地质时代中的一个纪,开始于同位素年龄20亿5000万年前,结束于18亿年前。造山纪期间蓝藻、细菌繁盛。造山纪属于前寒武纪元古宙古元古代;造山纪的上一纪
  • 森特勒利亚森特勒利亚(Centralia)位于美国华盛顿州刘易斯县。美国2000年人口普查时人口为14,742人。
  • 阿拉伯基督徒阿拉伯基督徒在广义上指生活在阿拉伯世界信仰基督教的群体。狭义上指近东地区的巴勒斯坦基督徒。各类数据统计在500万至2000万人之间,一般认为在600万至800万人间。主要分布
  • 元日战争元日战争是元朝皇帝忽必烈与属国高丽在1274年和1281年两次派军侵略日本而引发的战争;这两次侵略在日本合称“元寇”或“蒙古襲来”,或依当时的日本年号称抵御元军第一次进攻的
  • 努恩 (古埃及)努恩(Nun,亦写作Nu),是埃及神话中原始水和混沌之神。与尼罗河的泛滥有关:每年泛滥季节,河水淹没河谷地区,无边无际,一片汪洋。努恩的形象也包含着古埃及人关于一切江河湖泊和海洋的