MFC 中的内存诊断

  在DEBUG 模式下,MFC 重载了new 运算符,并且是两个,一个是全局,一个针对COBJECT 的派生类对象。其中每次分配内存时,都额外的分配了一个结构大小在实际需要的内存区前面,同时在该结构和实际内存之间以及实际内存的最后也分配了额外的空间,用于检查程序是否进行了错误的越界写,以便在调试模式下给用户警告。

  而有意思的当然是那个结构,里面保存了所分配内存的所有信息,大小拉,是否COBJECT 派生类对象拉,等等拉,由于对每次分配都进行了跟踪,那么内存诊断就相对容易拉,只要在两个点之间进行一次内存分配信息打包(统计)。然后进行比较。 不过该结构还有一个域用来判断内存是否空闲,主要是用来延迟释放。因为我们想知道程序总共分配的内存大小,就需要延迟释放来实现。  ……

  而这种分配以及描述内存的方法在 CStiring 类中也使用了。  原来如此~ HOHO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值