[求助]release的程序,如何获得一个对象的大小

lvgame 2006-12-12 08:19:29
在堆上分配。用VC6编译。

debug下,通过new返回的指针减去4个dword,就可以得到这个对象的大小。

release下应该也有类似的地方来记录对象的大小,请问各位高手,该如何得到?

如果没有这个值,那delete是如何知道这个对象占用了多少空间?

先谢过了!
...全文
239 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
outlander 2006-12-15
  • 打赏
  • 举报
回复
lvgame 2006-12-15
  • 打赏
  • 举报
回复
顶一顶
  • 打赏
  • 举报
回复
编译的时候对象大小就一定确定了
要是数组的话你肯定知道分配了多少个元素,所以这东西干吗要动态获得
jixingzhong 2006-12-14
  • 打赏
  • 举报
回复
_msize 和 sizeof 还是有区别的~~

_msize 只适用于动态分配的对象,
如通过 malloc 分配的空间的大小,
new 生成的对象的大小 等等。
对于局部的栈对象是不适用的 ~~
lvgame 2006-12-14
  • 打赏
  • 举报
回复
顶一顶
lvgame 2006-12-14
  • 打赏
  • 举报
回复
谢楼上二位。

我现在就是想获得用new分配的一个对象的大小,所以用_msize,可是结果出来会有很多异常值,如负值或非常大的值。

不知道这个该如何解释下。或者还有其他方法没?

谢谢了。
lvgame 2006-12-13
  • 打赏
  • 举报
回复
谢谢楼上几位!

用了_msize,会发现有一些超大数据,不知道编译参数是不是会对这个值有影响?
youngwolf 2006-12-12
  • 打赏
  • 举报
回复
说了用_msize,你还在说用SIZEOF!
SIZEOF在编译的时候就计算出来了,编译后写到EXE中的其实是一个常量。
LiChenYue 2006-12-12
  • 打赏
  • 举报
回复
楼上的意思好象是用SIZEOF来求。
折腾_苏州 2006-12-12
  • 打赏
  • 举报
回复
_msize
Returns the size of a memory block allocated in the heap.
////////////////////////////////////////////////////////
sizeof Operator
sizeof expression

The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧