如何在Visual Sudio 2008中查看汇编代码?

romanwall 2011-09-02 10:33:48
最近刚开始看《Computer Systems: A Programmer's Perspective》。这本书对于不是学计算机但又想搞编程的人非常有帮助。书中有些例子需要查看C代码编译以后的汇编代码。作者使用的是GCC编译器,而我自己一直都是在Visual Studio平台下工作的。请问,有什么办法可以查看汇编代码?例如,看下面这几行C代码(书中第130页的一个例子):
int accum=0
int sum(int x,int y)
{
int t=x+y;
accum+=t;
return t;
}
请给出Visual Studio 2008下查看汇编代码的具体操作步骤。多谢。
...全文
250 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-09-02
  • 打赏
  • 举报
回复
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
gykgod 2011-09-02
  • 打赏
  • 举报
回复
debug->windows->disassembly
至善者善之敌 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luciferisnotsatan 的回复:]
引用 2 楼 demon__hunter 的回复:

debug时 break程序然后alt+8

++
[/Quote]


+++2
luciferisnotsatan 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 demon__hunter 的回复:]

debug时 break程序然后alt+8
[/Quote]
++
机智的呆呆 2011-09-02
  • 打赏
  • 举报
回复
debug时 break程序然后alt+8
bdmh 2011-09-02
  • 打赏
  • 举报
回复
到断点后,代码区域下方右侧有调用堆栈窗口,右键,查看反汇编
阿尔博特 2011-09-02
  • 打赏
  • 举报
回复
mark一下,我也不知道?那你知道VS2005怎么调试吗(debug)?
iandy2233 2011-09-02
  • 打赏
  • 举报
回复
两种方法:
1.上面说的查看反汇编
2.项目->属性->C/C++ ->输出文件->汇编输出->选择程序集,机器码和源代码,然后编译链接,在Debug下的.cod文件中有
TitanQuest 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 limang89 的回复:]

引用 4 楼 babilife 的回复:

引用 3 楼 luciferisnotsatan 的回复:
引用 2 楼 demon__hunter 的回复:

debug时 break程序然后alt+8

++



+++2


+3
[/Quote]
++97
masterz 2011-09-02
  • 打赏
  • 举报
回复
/FA, /Fa (Listing File)
我们公司在招聘C++工程师,有兴趣的朋友看看
limang89 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 babilife 的回复:]

引用 3 楼 luciferisnotsatan 的回复:
引用 2 楼 demon__hunter 的回复:

debug时 break程序然后alt+8

++



+++2
[/Quote]

+3
xunxun 2011-09-02
  • 打赏
  • 举报
回复
debug alt+8

release的话需要设置debug信息
Athenacle_ 2011-09-02
  • 打赏
  • 举报
回复
注意下,VS的汇编和gcc的汇编有很大的差别

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧