如何编译为特定的可执行格式?

如何编译为特定的可执行格式?

我有点困惑。我刚刚读过这个:http://www.es.freebsd.org/doc/handbook/binary-formats.html,这基本上表明 freeBSD 使用 elf 二进制格式。但是当我使用 cc 编译代码时,我得到一个名为 a.out 的文件。

那么这是怎么回事呢?我可以以某种方式指定 cc 应该以哪种格式构建我的代码吗? freeBSD 只支持这两种格式吗?生成的可执行文件实际上是 elf 格式,但出于某种原因它只是被称为 a.out:P 吗?

答案1

a.out文件仍然是编译器使用 a.out 格式时遗留下来的。如果您检查该文件,file a.out您会发现它实际上是 ELF 格式。

要指定输出文件的名称,请使用cc -o exec_name code.c.

相关内容