创建ELF而不是a.out

时间:2011-04-06 11:29:32

标签: c gcc elf

我需要使用gcc生成一个简单的“Hello World”ELF32可执行文件。 我似乎没有gcc-elf命令。 是否可以在不再构建gcc的情况下创建ELF二进制文件而不是a.out?

(我假设应该可以选择一些选项,但我不确定如何继续)

2 个答案:

答案 0 :(得分:10)

检查文件a.out

$ file a.out
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

我认为默认名称保留为a.out但格式为ELF。

答案 1 :(得分:8)

a.out很老了,我们正在谈论linux的内核版本1.2。假设您在任何远程Linux平台上运行,默认情况下您将生成elf可执行文件。在输出可执行文件上使用file命令进行验证。 E.g:

$ file server
server: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped