读书人

C++中的char*b=new char[10];在反汇编

发布时间: 2012-10-18 13:46:55 作者: rapoo

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

读书人网 >汇编语言

热点推荐