30

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

4

2 回答 2

43

a.out 代表汇编器输出。
我认为这证明了为什么大多数编译器都默认使用这个名称。更多信息在这里

于 2009-08-02T06:06:14.083 回答
8

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

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

如果这些编译器只是出错而不是产生“a.out”,会发生什么?

什么都不会破坏,但是“错误输出”是什么意思?您的意思是,除非向链接器提供可执行名称,否则拒绝编译?

于 2009-08-02T06:04:37.690 回答