从历史上看,我知道当我运行cc
命令时,或者gcc
我的输出通常总是编译成,a.out
除非我有 make 文件或在编译器上使用特定标志。但为什么a.out
?为什么不c.out
或者c.run
或者任何无数的一百万种可能性呢?
答案1
答案2
扩展@A.Meau的答案......除了是一个历史文物之外,默认名称a.out
是 POSIX 强制规定的:
如果没有阻止链接编辑的选项(例如-C或者-E),并且所有输入文件编译和链接没有错误,生成的可执行文件应根据-o 输出文件选项(如果存在)或文件a. 输出。
无论可执行文件使用的实际二进制格式如何,这都适用。a.out
最初与特定格式相关,但是现代Linux系统一般使用极低频。