为什么有些编译器使用“a.out”作为可执行文件的默认名称?

时间:2009-08-02 05:59:29

标签: c unix history compiler-construction

大多数UNIX C编译器默认情况下将可执行文件链接到名为“a.out”的文件。为什么?这是书面标准还是事实上的标准行为?如果这些编译器只产生错误消息(或使用不同的默认名称)而不是生成“a.out”,会破坏什么?

2 个答案:

答案 0 :(得分:37)

a.out代表汇编程序输出 我认为这证明了为什么大多数编译器都将此名称作为默认名称。 更多信息here

答案 1 :(得分:5)

A.out实际上是UNIX可执行文件格式的名称。 (ELF是另一个)

如果您没有明确地为可执行文件命名,编译器会生成该名称(按传统)。

  

如果这些编译器会破坏什么   只会错误而不是   制作“a.out”?

什么都不会破坏,但是'错误'是什么意思?你的意思是,除非为链接器提供可执行文件名,否则拒绝编译?