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

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

热度:480   发布时间:2016-05-02 05:01:32.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  
  相关解决方案