为什么程序总是编译成a.out?为什么不是 p.out 或 c.out 或 g.prog?

Mar*_*k D 2 compiling history

从历史上讲,我知道何时运行cc命令或gcc我的输出通常总是编译为,a.out除非我有一个 make 文件或在编译器上使用特定标志。但为什么a.out?为什么不c.outc.run或任何无数的一百万种可能性?

小智 8

这是一件历史文物,因此换句话说,它是一种遗留的回归。历史上a.out代表“汇编输出”

a.out 现在只是文件名,但在此之前它也是可执行文件的文件格式。

a.out可执行文件格式是时下罕见的支持。该ELF格式具有更广泛的应用,但我们仍然保留旧的名称为C编译器的默认输出。