使用gcc生成a.out文件格式

Nul*_*lik 7 c executable gcc compilation

如何在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]$ 
Run Code Online (Sandbox Code Playgroud)

在linux上,编译.c文件会生成一个elf对象.如何用gcc生成a.out文件?

Que*_*vas 12

要使用gcc生成a.out格式,需要告知链接器这样做.你可以通过标志从gcc传递它的标志来做到这一点-Wl.

以下是您为a.out格式所做的事情:

gcc -Wl,--oformat=a.out-i386-linux file.c -o file.out
Run Code Online (Sandbox Code Playgroud)

您还可以通过键入来显示所有支持的格式:

objdump -i
Run Code Online (Sandbox Code Playgroud)