如何创建ELF可执行文件?

时间:2011-11-09 03:41:19

标签: c++ linux gcc elf

  

可能重复:
  Creating ELF instead of a.out

当我使用命令gcc hello.cpp时,我最终得到a.out

我在某处读到a.out文件与ELF可执行文件不同。

如何指示gcc创建ELF可执行文件?

3 个答案:

答案 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++代替。