Подтвердить что ты не робот

Как я могу увидеть код сборки, который генерируется компилятором gcc (любой вкус) для программы C/С++?

Я пытаюсь оптимизировать множество умножений и арифметики указателей и хотел бы видеть, что делает компилятор под ним, когда я добавляю флаги оптимизации.

- Edit -

Как ограничить его определенной функцией или блоком кода?

- Edit_2 -

Как разрешить gcc генерировать менее подробный ассемблер?

4b9b3361

Ответ 1

Добавить -s в вашу командную строку.

Изменить: не забывайте, что он поместит сборку в файлы, указанные вами под ключом -o.

Ответ 2

Как ограничить его определенной функцией или блоком кода?

Поместите эту функцию в отдельный исходный файл (и используйте другой параметр командной строки для этого одного исходного файла).

Ответ 3

Вы также можете запустить эту программу в отладчике, например gdb, и использовать представление разборки. В gdb вы можете использовать команду disass/m для просмотра сборки, смешанной с кодом C в текущем местоположении.

Ответ 4

Вы можете остановить программу в точке останова в отладчике Visual Studio и сделать "показать сборку" и даже пройти через нее по одной инструкции за раз.