加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – TObject包含哪些数据?

发布时间:2020-12-15 10:11:16 所属栏目:大数据 来源:网络整理
导读:TObject.InstanceSize返回8,但TObject没有声明任何数据成员.根据TObject.ClassType的实现,前4个字节可以解释为指向对象的TClass元数据的指针.任何人都知道其他4个字节的开销是什么? 编辑:显然这是D2009特有的.在旧版本中,它只有4个字节. 解决方法 在Delphi
TObject.InstanceSize返回8,但TObject没有声明任何数据成员.根据TObject.ClassType的实现,前4个字节可以解释为指向对象的TClass元数据的指针.任何人都知道其他4个字节的开销是什么?

编辑:显然这是D2009特有的.在旧版本中,它只有4个字节.

解决方法

在Delphi 2009中,有 the ability to have a reference to a synchronization monitor.请参阅:
class function TMonitor.GetFieldAddress(AObject: TObject): PPMonitor;
class function TMonitor.GetMonitor(AObject: TObject): PMonitor;

…在System.pas中

此外,仍然有一个指向VMT的指针. (虚拟方法表.)From Delphi in a Nutshell:

The TObject class declares several methods and one special,hidden field to store a reference to the object’s class. This hidden field points to the class’s virtual method table (VMT). Every class has a unique VMT and all objects of that class share the class’s VMT.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读