当前位置: 代码迷 >> 汇编语言 >> C++中的char*b=new char[10];在反汇编里的代码如上,麻烦大神来帮忙解释上反汇编代码中的意思
  详细解决方案

C++中的char*b=new char[10];在反汇编里的代码如上,麻烦大神来帮忙解释上反汇编代码中的意思

热度:1581   发布时间:2013-02-26 00:00:00.0
C++中的char*b=new char[10];在反汇编里的代码如下,麻烦大神来帮忙解释下反汇编代码中的意思。
本人对汇编略懂点,但是结合C++程序看还是不太明白。

char*b=new char[10];

004113BE push 0Ah  

004113C0 call operator new[] (4111D1h)  

004113C5 add esp,4  

004113C8 mov dword ptr [ebp-0D4h],eax ;尤其这两句

004113CE mov eax,dword ptr [ebp-0D4h] ;尤其这两句

004113D4 mov dword ptr [b],eax  

;上面那两句把寄存器eax中的数据给 dword ptr [ebp-0D4h],然后再把dword ptr [ebp-0D4h]给eax,这个有什么意义吗?感觉这两个语句没做任何事情。


------解决方案--------------------------------------------------------
debug编译,未优化
------解决方案--------------------------------------------------------
C++这种语句很多,有时侯不必抓牛角尖
------解决方案--------------------------------------------------------
那两句应该就是debug产生的吧
直接这样就可以了 mov dword ptr [b],eax
  相关解决方案