创建 ELF 而不是 a.out

发布于 2024-10-30 17:35:05 字数 182 浏览 5 评论 0原文

我需要使用 gcc 生成一个简单的“Hello World”ELF32 可执行文件。

不过我似乎没有 gcc-elf 命令。

是否可以创建 ELF 二进制文件而不是 a.out 而无需再次构建 gcc

我认为有一些选择应该是可能的,但我不确定如何继续。

I need to generate a simple "Hello World" ELF32 executable using gcc.

I don't seem to have the gcc-elf command though.

Is it possible to create ELF binaries instead of a.out without building gcc again?

I'm assuming it should be possible with some options, but am unsure how to proceed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尴尬癌患者 2024-11-06 17:35:05

a.out 非常古老,我们谈论的是 linux 的内核版本 1.2。假设您在任何最新的 Linux 平台上操作,默认情况下您将生成 elf 可执行文件。对输出可执行文件使用 file 命令进行验证。例如:

$ 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

a.out is very old, we're talking kernel version 1.2 of linux. Assuming you are operating on any remotely recent linux platform, you are generating elf executables by default. Use the file command on the output executable to verify. 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
情愿 2024-11-06 17:35:05

检查文件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。

Check the file 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

I believe the default name is retained as a.out but the format is ELF.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文