为什么有些编译器使用“a.out” 作为可执行文件的默认名称?

发布于 2024-07-30 02:49:01 字数 119 浏览 8 评论 0原文

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

Most UNIX C compilers link executables by default to a file called "a.out". Why? Is this a written standard or just de-facto standard behavior? What would break if these compilers would just produce an error message (or use a different default name) instead of producing "a.out"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

贵在坚持 2024-08-06 02:49:01

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

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

如果这些编译器会破坏什么
只会出错而不是
生成“a.out”?

不会有任何问题,但是“错误输出”是什么意思? 您的意思是,除非向链接器提供可执行文件名称,否则拒绝编译?

A.out is actually the name of an UNIX executable file format. (ELF is another)

The compiler produces that name (by tradition) if you don't give your executable a name explicitly.

What would break if these compilers
would just error out instead of
producing "a.out"?

Nothing would break, but what do you mean by 'error out'? Do you mean, refuse to compile unless an executable name is supplied to the linker ?

像你 2024-08-06 02:49:01

a.out 代表汇编器输出。
我认为这证明了为什么大多数编译器都将此名称作为默认名称。
更多信息此处

a.out stands for assembler output.
I think that justifies why most compilers have this name as default.
More info here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文