【发布时间】:2012-01-08 08:47:21
【问题描述】:
如何在 x86 架构上使用 gcc 生成 a.out 文件格式?
使用 nasm,我可以使用 -f 标志轻松完成此操作,例如:
[user@host]$ nasm -f aout start.asm
[user@host]$ objdump -a start.o
start.o: file format a.out-i386-linux
start.o
[user@host]$
在 linux 上,编译 .c 文件会生成一个 elf 对象。如何使用 gcc 生成 a.out 文件?
【问题讨论】:
-
您使用的是哪个系统?我认为 Linux 不再支持 a.out 可执行文件了。我不知道中间对象文件。
-
我相信内核可以配置为支持 a.out,但默认情况下它是关闭的。自从我编译内核以来已经有一段时间了,可能不再是这种情况了。
-
如果在编译时启用
CONFIG_BINFMT_AOUT,Linux 确实支持它。
标签: c gcc compilation executable