如何检查C++编译器生成的代码?

The*_* do 1 c++ compiler-construction binary

就像在主题中 - 是否有任何软件可以打开(什么?),在这里我甚至不知道打开什么 - 文件与目标代码或exe?我今天的问题(如果只是今天;))可能看起来有点奇怪,但我正在通过BS的"C++编程语言"进行练习,有时我只是坚持特定的问题.我有时会对这本书的风格(在很多方面都很出色)感到有点恼火,他(BS)会在他的书中提出一些你无法回答的问题,如何去做,甚至从哪里开始.像这样的例如:

运行一些测试,看看你的编译器是否真的使用指针生成迭代的等效代码,并使用索引进行迭代.如果可以请求不同程度的opimization,请查看是否以及如何影响生成的代码的质量.

这是第5章问题8.到目前为止,本书中没有提到测试和分析编译器生成的代码.无论如何,如果有人可以帮助我,我会很高兴.谢谢.

sha*_*oth 5

调试器会帮助你.大多数调试器都允许您暂停程序并查看反汇编.好消息是,他们指出你正确设置断点的行的反汇编,而不仅仅是所有的编译结果.

偶尔我会在Visual Studio中执行此操作 - 编译程序,将断点放在感兴趣的代码的开头,启动程序,然后在它停止时打开反汇编并立即看到与该C++代码对应的代码.