Конвертировать C ++ программу в сборку - PullRequest
2 голосов
/ 17 августа 2010

Я использую Visual Studio 2010 и, возможно, мне нужно написать какую-нибудь программу. Можно ли сделать так, чтобы Visual Studio показывал мне этот код, переведенный на язык ассемблера?

И если да, то как мне это сделать? Например, у меня есть факториальная программа:

int fact(int n) {
    if (n<=1)  
        return 1;
    return n*fact(n-1);

Ответы [ 2 ]

5 голосов
/ 17 августа 2010

См. Ответы на этот вопрос:

Есть несколько подходов:

  1. Обычно вы можете увидеть ассемблерный код при отладке C ++ в визуальном студия (и затмение тоже). Для этого в Visual Studio ставит точку останова на код в вопросе, и когда отладчик ударяет его щелкните правой кнопкой мыши и найдите «Перейти к сборке» (или нажмите CTRL + ALT + D)
  2. Второй подход заключается в создании списков сборок во время компиляции. За это перейти к настройкам проекта -> C / C ++ -> Выходные файлы -> ASM List Location и введите имя файла. Также выберите «Сборочный вывод» на «Сборка с Исходный код ".
  3. Скомпилируйте программу и используйте любой сторонний отладчик. Ты можешь использовать OllyDbg или WinDbg для этого. Вас также можно использовать IDA (интерактивный дизассемблер). Но это хардкор способ сделать это.
0 голосов
/ 17 августа 2010

Поместите точку останова в вашу факториальную функцию, начните отладку, перейдите в окно Call Stack, щелкните правой кнопкой мыши по вашей функции, выберите Go To Disassembly *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...