本人对汇编略懂点,但是结合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