设为首页 加入收藏

TOP

c++反汇编代码分析:循环结构
2014-11-14 18:45:25 】 浏览:7103
Tags:汇编 代码 分析 循环 结构

在此主要讨论或者验证三点:


1、循环结构的反汇编代码分析


2、函数中,局部变量的保存位置


3、方法的返回值保存位置验证


一个没有找到答案的疑问:


00401029 lea edi,[ebp-48h] 0040102C mov ecx,12h 00401031 mov eax,0CCCCCCCCh ;这段代码是在栈中开辟一个48字节大小的区域来存放局部变量,但是如果函数内没有局部变量,则是lea edi,[ebp-40h]一个局部变量,则是lea edi,[ebp-44h]两个局部变量,则是lea edi,[ebp-48h]也就是没有局部变量时开辟的40个字节,我用F11追踪过,单步调试时,这一部分区域并没有用到,这一区域的作用是什么?


代码如下:


1int sum()


2{


3 int subResult=0;


4 for (int i=0;i<3;i++)


5 {


6 subResult+=1;


7 }


8 return subResult;


9}


10


11void main()


12{


13 int result = sum();


14 printf("%\d\n",result);


15}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇如何存储并初始化成员变量 下一篇CTypedPtrList详细说明和具体用法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目