- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯 C叶 第 7卷第 2期 Vol7.No.2 1996年 2月 Feb 1996 7一 C++对象的持久化中的问题和解决方案 -。-。-伟 旦 }1乙 … — 一 — ~ (北京航空航天大学计算机科学与工程系 北京 100083) 摘要 多媒体智能数据库系统 MIDS(multimediaintelligentdatabasesystem)是一十对象数据 库管理系统.它的数据库编程语言是P++,P++语言是一种基于 c++的语言.作者在P++ 的实现过程 中遇到了以下问题 :首先 .c++的指针有二义性 .它无}击在语义上区分成员指针和 弓I用指针 t以及易失性指针和持久性指针 ,从而给事务管理中的对象加锁及其它方面带来问题. 其次,具有虚拟函数或虚拟基类的对象中古有指 向内存 中的指针 .而这些指针不是由程序员定 义的.如果C++对象被持久化 ,这些指针在不同的程序调用中有可能无效.最后 ,如果作者用 文件系统调用来存储对象,那么必须要设计复杂的Cache系统和做大量对象的格式转化工作 , 这需要大量的空间和时阿,所以他们采用了另外的一种方法——基于虚拟 内存空间映射的存储 方案 . 关 蕾 调 面向对象数据库 ,持久性 ,虚拟内存映射. P++ 是基于 c++的数据库编程语言,是 c++语言的一个超集.P++语言提供了 对象模式定义、持久化、迭代、查询、版本、约束、触发器、规则和知识表示等重要的语言功能, 是我们正在开发的多媒体智能数据库 (MIDS/BUAA)0的重要的组成部分. 现在我们 已经完成了P++的原型开发工作.该原型系统可以提供持久性对象的刨建 和操作,对象的簇聚(clustering)、查询和约束等功能.P++程序由P++编译器翻译成纯 的c++程序语言,这些 c++程序通过调用系统的对象管理库来实现 P++的语义 ,然后 通过 c++编译进行编译和链接 ,以形成最终的可执行代码 (见图1). 从 P++程序员的角度,持久性对象的指针和易失性对象的指针在语义上是基本一致 的,持久性对象的读取对用户透 明,持久性对象和易失性对象无 语义断层 (sematiczap), 同时P++语言在程序设计语言和数据库之间建立了一个统一的类型系统,使两种语言之 间没有明显的断层,太大缓解了 “阻抗失配”(impedancemismatch).0为了达到这些 目的, c++对象持久化的实现者必须解决 2个核心问题 ,即c++对象指针的二义性和 c++对 象 内部的隐含指针 (hiddenpointer)和显式指针 (explicitpointer)的重定位. 所谓的c++指针的二义性是指c++的指针在语义上不能区分成员指针 (member pointer)和引用指针 (referencepointer),以及易失性指针 (volatilepointer)和持久性指针 *作者陶伟,1970年生 ,博士 ·主要研究领域为面向对象数据库 ,面向对象程序语言.麦中凡 .1935年生,教授 ,主要 研究领域为程序设计语言,软件工程,^工智能 ,数据库. 本文通讯联系^:南伟 .北京 100083,北京航空航天大学计算机科学与工程系 本文 1994—18—29收到修改稿 维普资讯 74一 软 件 学 报 7卷 (persistantp
有哪些信誉好的足球投注网站
文档评论(0)