- 2
- 0
- 约6.97千字
- 约 9页
- 2017-02-11 发布于北京
- 举报
由TObject原码对类的内存分配
一、分析TObject原码
1.1 1.1 看Delphi之祖TObject究竟干了些什么?
1.1.1 1.1.1 类的实例化
???
?class function InitInstance(Instance: Pointer): TObject;
?class function NewInstance: TObject; virtual;
??? 这两个方法实现了对类的实例化,其中由
function _ClassCreate(AClass: TClass; Alloc: Boolean): TObject;asm{ - EAX = pointer to VMT }{ - EAX = pointer to instance }PUSH EDXPUSH ECXPUSH EBXTEST DL,DLJL @@noAllocCALL DWORD PTR [EAX] + VMTOFFSET TObject.NewInstance? ......
??? 当然类实例的释放,就由下面CleanupInstance和FreeInstance两个函数完成了,同理他们的实现原理大家也可以猜到了,这里就不多说了。
1.1.2 1.1.2 对象的初始化
??? 由于这部分大家都明白,在
1.1.3 1.1.3 vmt表、实例内存段和对象域关系
您可能关注的文档
最近下载
- 安全法律法规培训试题及答案解析.doc VIP
- 消防法律法规考试题库.pdf VIP
- (高清版)DB13∕T 2770-2018 焊接熔深检测方法.docx VIP
- 高等代数(第五版)张禾瑞习题答案解析.pdf
- 芜湖车务段招聘笔试题库2026.pdf
- 2025年12月全国科学创新实践活动(原华数杯)初中数学八年级竞赛四级组试卷(含答案).docx VIP
- SAE USCAR-2-2020 SAE 标准规范下载.docx VIP
- 初三学习策略讲座PPT模板.pptx VIP
- 100以内的加法和减法( 退位减).pdf VIP
- 国家开放大学《Python语言基础》实验4:条件分支结构基本应用参考答案.docx VIP
原创力文档

文档评论(0)