|
|||||||
Как увидеть результат трансляции в код ассемблера в GCC
Время создания: 09.12.2008 19:06
Текстовые метки: c, c++, gcc, ассемблер
Раздел: Компьютер - Программирование - Компилятор GCC
Запись: xintrea/mytetra_syncro/master/base/0000000340/text.html на raw.github.com
|
|||||||
|
|||||||
Ассемблер от компилятора Результат трансляции в код ассемблера можно увидеть с помощью ключа -S. Пример: gcc -S test.c Но такой код хоть и является результатом трансляции исходного кода, но он плохочитаем. Ассемблер от objdump Гораздо лучший ассемблерный листинг можно получить с помощью программы objdump. Для этого ее надо натравить на сгенерированный объектник вот с такими опциями: objdump -d -S a.out В полученном листинге больше всего обычно интересует секция .text, которая начинается так: Disassembly of section .text: А внутри этой секции, для стартового cpp файла, будет ассемлерный листинг функции main: 00000000004007d7 <main>: #include <iostream> int main(int argc, char** argv) { 4007d7: 55 push %rbp И каждая строка там будет видна в исходном виде, и будет видно как она скомпилировалась в машинный код вместе с литеральной записью команд ассемблера. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|