当我使用命令gcc hello.cpp
时,我最终得到a.out
。
我在某处读到a.out
文件与ELF可执行文件不同。
如何指示gcc
创建ELF可执行文件?
答案 0 :(得分:8)
事实上,gcc
出于历史原因使用名称a.out
。你真的得到了一个ELF
可执行文件。您可以使用file
命令对此进行验证,该命令将为您提供以下行的输出:
$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
答案 1 :(得分:5)
出于历史原因,gcc使用名称a.out作为默认可执行文件名。如果你运行“file a.out”,你会发现它实际上是一个ELF文件。
答案 2 :(得分:3)
如果您不想看到名称a.out
,请使用-o
开关更改输出文件名:
g++ -o hello hello.cpp
另请注意,虽然gcc
通常适用于C ++程序,但您应该使用g++
代替。