создание.файл формата с ССЗ
Как мне сгенерировать.из формата файла с 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+).