找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2966|回复: 1

[通用编程] [x86 asm/dasm] new运算符的实现问题, 汇编高手进

[复制链接]
发表于 2007-12-26 11:31:18 | 显示全部楼层 |阅读模式
  1. loc_4939DE:
  2. mov     eax, [esp+0D45Ch+var_D450]
  3. inc       eax
  4. push   eax
  5. call      j_??2@YAPAXI@Z  ; operator new(uint)
  6. add     esp, 4
  7. cmp    eax, ebx                                                            ; // ebx=0
  8. mov     [esp+0D45Ch+var_D448], eax
  9. jz          short loc_49398D                                          ; return 0
复制代码

1、请问这里call的是new运算符,还是new[]运算符?(俺觉得是new[])
2、new和new[]应该是需要创建之对象的大小用于计算分配多少内存的,这个大小怎么传给new和new[]?用寄存器?
发表于 2007-12-26 19:41:17 | 显示全部楼层
operator new调用的还是malloc嘛
- -
偶认为只要传递了大小就可以,对象的大小应该在更早的时候计算进去了罢?否则那个乘法在哪里??
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|幻想森林

GMT+8, 2026-11-6 17:26 , Processed in 0.019284 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表