大多数 UNIX C 编译器默认将可执行文件链接到名为“a.out”的文件。为什么?这是书面标准还是事实上的标准行为?如果这些编译器只产生错误消息(或使用不同的默认名称)而不是产生“a.out”,会出现什么问题?
问问题
11041 次
2 回答
43
a.out 代表汇编器输出。
我认为这证明了为什么大多数编译器都默认使用这个名称。更多信息在这里。
于 2009-08-02T06:06:14.083 回答
8
A.out 实际上是 UNIX 可执行文件格式的名称。(ELF是另一个)
如果您没有明确地为可执行文件命名,编译器会生成该名称(按照传统)。
如果这些编译器只是出错而不是产生“a.out”,会发生什么?
什么都不会破坏,但是“错误输出”是什么意思?您的意思是,除非向链接器提供可执行名称,否则拒绝编译?
于 2009-08-02T06:04:37.690 回答