首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 软件频道>C++/CLI思辨录之Object的对象布局

C++/CLI思辨录之Object的对象布局

2005-07-28 08:35作者:朱先忠编译出处:天极网责任编辑:方舟

天极软件专题专区精选
Google专区 POPO专区 QQ专区
Flash MX 视频教程 Photoshop视频教程 网页设计视频教程
PowerPoint动画演示教程 Excel动画教程集 Word动画演示教程
特洛伊木马专区 黑客知识教程专区 注册表应用专区
Windows API开发专区 网络编程专区 VB数据库编程专区
图像与多媒体编程    

  C++/CLI相对纯C++来说,支持创建托管引用对象,托管对象由虚拟机来分配内存和管理,程序员可以不再担心内存泄漏的问题。其实,说白了也就是相当于自己创建一个内存池,并且虚拟机实际上也是这样做的。

  在CLI中,所有的类都从Object派生,包括int这样的值。那么Object的内部结构是怎么样的呢?通过对vm代码的研究,可以看到大致上的结构如下:


  用户保存一个托管对象的句柄,其实可以看作是一个指向Object的指针,在Object里面包含一个MethodTable的指针,这个 MethodTable保存了类型的信息以及一些函数,这就好比虚函数指针一样。很多的操作都通过该指针来完成,比如Allocate(),比如Box (),UnBox()等等。紧跟在MethodTable后面的就是真实的数据了。

  这个MethodTable是vm里面很核心的一个类,通过它可以完成很多的操作。

关注此文的读者还看过:

返回软件频道首页

共1页。 1
  • 1.C++/CLI思辨录之Object的对象布局

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络