我需要使用gcc生成一个简单的“Hello World”ELF32可执行文件。 我似乎没有gcc-elf命令。 是否可以在不再构建gcc的情况下创建ELF二进制文件而不是a.out?
(我假设应该可以选择一些选项,但我不确定如何继续)
答案 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