大多数UNIX C编译器默认情况下将可执行文件链接到名为“a.out”的文件。为什么?这是书面标准还是事实上的标准行为?如果这些编译器只产生错误消息(或使用不同的默认名称)而不是生成“a.out”,会破坏什么?
答案 0 :(得分:37)
a.out代表汇编程序输出 我认为这证明了为什么大多数编译器都将此名称作为默认名称。 更多信息here。
答案 1 :(得分:5)
A.out实际上是UNIX可执行文件格式的名称。 (ELF是另一个)
如果您没有明确地为可执行文件命名,编译器会生成该名称(按传统)。
如果这些编译器会破坏什么 只会错误而不是 制作“a.out”?
什么都不会破坏,但是'错误'是什么意思?你的意思是,除非为链接器提供可执行文件名,否则拒绝编译?