Как я могу заставить Dev-C ++ генерировать сборку Intel из кода c?

Я понимаю, что компиляторы конвертируют исходный код c в сборку, а затем в машинный код. Я просмотрел все настройки компилятора, которые смог найти, и их веб-сайт, но не могу заставить его сгенерировать сборку. Кроме того, на веб-сайте указано, что Dev-C ++ использует сборку AT&T, могу ли я также преобразовать ее в Intel?


person skidup    schedule 05.03.2012    source источник
comment
Обычно компилятор C ++ имеет в своей цепочке инструментов ассемблер для встроенного ассемблера, здесь __asm("mov %ax,%dx") ; // move AX to DX. Обычно нет вывода на ассемблер, и это будет стиль AT&T. В этом случае я бы дизассемблировал объектный код до ассемблера Intel.   -  person Joop Eggen    schedule 05.03.2012


Ответы (2)


Dev-C ++, похоже, использует GCC.

Вы можете попробовать этот вариант: gcc -S -masm=intel, как указано в этом вопросе: Как вы используете gcc для генерации ассемблерного кода в синтаксисе Intel?

Я не знаю, как установить параметры командной строки на Dev-C ++, но руководства можно легко найти.

person Pubby    schedule 05.03.2012
comment
Где бы эта строка была набрана? Это не язык c, поэтому я предполагаю, что это не просто часть исходного файла, но я также не знаю, когда и где я ввел бы его в командную строку. - person skidup; 05.03.2012
comment
@ user1248980 gcc также поддерживает C ++ (g ++). Вам нужно найти место в среде IDE, где указаны параметры компилятора. Это не связано с вашими источниками. - person Pubby; 05.03.2012

C:\Program Files (x86)\Dev-Cpp\MinGW32\bin>gcc -S -masm=intel try.cpp

Введите это в командной строке (расположение gcc зависит от того, где вы установили dev-C ++), он сгенерирует файл сборки, в моем случае try.s

person Anshul Negi    schedule 27.11.2016