我使用的是MSVC 2008。
假设我的代码中有一个函数:
int foo()
{
return 2 + 5;
}
我可以使用哪些工具在X86汇编程序中获取此例程的ASCII表示形式?
void bar()
{
std::string s = disassemble(foo);
printf("%s\n", s.c_str());
}
答案 0 :(得分:2)
您可以通过单击Project-> properties-> C ++ - > Assembly output输出汇编代码,然后选择您的首选项,下次构建时将创建汇编文件。
通过按ctrl + Alt + D,您也可以在调试时(在断点处)查看汇编代码。
这显然假设你在x86机器上进行x86组装。
答案 1 :(得分:2)
您可以使用精彩的BEAEngine library。
答案 2 :(得分:0)
确保该文件是项目的一部分。转到项目属性 - >配置属性 - > C / C ++ - >输出文件,然后在“汇编程序输出”下,选择“无列表”以外的内容。然后在编译时,如果指定了汇编,则会获得.asm文件;如果指定了列表文件,则会获得.lst文件。无论你选择哪一个,你都会从文件中保存生成的汇编代码(但是,作为警告,你编写的部分的代码通常几乎都被标准库中的其他混杂代码所掩盖。