создание.файл формата с ССЗ

Как мне сгенерировать.из формата файла с gcc на архитектуре x86 ?

С 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 files создает объект elf. Как я могу произвести a.из файлов с gcc ?

3 ответов


для генерации a.вне формата с gcc, вашему компоновщику нужно сказать, чтобы сделать это. Вы можете сделать это, передав ему флаги из gcc благодаря -Wl флаг.

вот что бы вы сделали для.- выход формата:

gcc -Wl,--oformat=a.out-i386-linux file.c -o file.out

вы также можете отобразить все поддерживаемые форматы, введя:

objdump -i

есть два ответа на этот вопрос. Во-первых, вам нужно будет скомпилировать новый GCC с aout в качестве цели; это не так просто, как переключение переключателя командной строки. Другой ответ-вопрос:зачем вам это нужно? Я не могу сразу придумать вескую причину.


согласно этому сообщению http://gcc.gnu.org/ml/gcc-help/2006-04/msg00262.html

вам нужно построить gcc для другой цели (i386-aout). Звучит правдоподобно.out был устаревшим в течение многих лет (10+).