首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 218 毫秒
1.
刘国田 《软件》1996,(2):31-36
机械设计目前已全面应用CAD方法即借助电脑软件实现建模及修改等。为了利用C++的类封装机制,人们常常开发基于C^++的高层面向对象语言来编制机械设计软件。带有虚拟函数或虚拟基类的C^++对象包含动态内存指针,这些指针超出创建它们程序生存期即告无效,但开发基于C^++的高层面向对象语言必须使用稳固对象。本文分析隐含指针问题并讨论实现对象转储的途径。  相似文献   

2.
本文研究了用C++语言调用由FoxPro for Windows管理图象的实现方法,讨论了Foxpro for Windows管理各种图形和图象的存储方法,并应用在金属学CAI教学软件中,大大地方便了CAI软件的图象管理和完善,此外,还给出了C++语言调用Foxpro for Windows管理的各种图形文件的实例。  相似文献   

3.
青鸟Ⅱ型系统面向对象语言CASEC++的设计和实现   总被引:2,自引:0,他引:2       下载免费PDF全文
CASEC++语言是面向对象的CASE环境青鸟Ⅱ型系统中设计、实现的一个与C++完全兼容并支持永久对象的面向对象程序设计语言.在青鸟Ⅱ型系统中,它是对象管理系统OMS(objectmanagementsystem)的操纵语言和所有集成工具的编程语言,同时也是支持最终用户的通用的编程语言.本文首先简要介绍了CASEC++的设计背景.然后,较详细地讨论了CASEC++中新引入的语言成份:永久对象;类定义的共享机制;永久对象间的关系描述──链和对象的内容等.最后,给出了实现方法.  相似文献   

4.
本文通过对TurboC/C^++中的几种指针的介绍,引出C/C^++的六种存储模式,并讨论了在程序编译时,存储模式指针的关系,指出了在实际应用中应注意的一些问题。  相似文献   

5.
用C++实现OODB中对象多版本   总被引:1,自引:0,他引:1  
作者利用Sybase作底层的数据存储,在C++中扩展了永久类,实现了OODB的一个重要功能,文中讨论的是在此基础上,利用C++语言重载能力,和关系数据库便于集合操作的特性,扩展我版本类,实现OODB对象多版本。  相似文献   

6.
为了完成数据管理系统开发中专项数据的组织调用和管理,设计将数据存人到数据库表的结构化字段中,使用VC++程序开发语言和ADO数据访问技术,结合使用ActiveX控件对数据进行安全存储和组织访问,从而达到了简单、安全、快速操作数据库中的数据的目的。文中介绍了微软ADO数据访问技术体系结构、对象模型,以及存储访问数据的原理与方法,并在此基础上给出了基于VC++.NET和ADO数据访问技术存储访问SQLServer数据库数据的程序规划和详细程序代码,此方法已成功应用在数据管理系统的开发中。  相似文献   

7.
DotNet平台中,通常使用C#语言构建应用程序。C#调用C++动态链接库文件时,如果导出函数中涉及自定义类型指针形式的参数传递,需要使用C#中的IntPtr传递指针。在此给出了与C++的联合开发步骤。  相似文献   

8.
本文从C/C++语言和Fortran90语言特点的角度,全面分析了相应调用机制。从参量传递协议、函数调用协议,参数变量命名规则,可变参量入口和地址传送等方面用了详细的分析,介绍了不同语言间的数据,数组和字符串传送方法,并简介VisualC++6.0调用Fortran PowerStation4.0的连接方法。  相似文献   

9.
吴穹  金成柏 《软件学报》1996,7(A00):100-106
本文介绍了一个针对C++语言的程序理解辅助系统HOOPUS(hypertext-basedobject-oriened program understanding support system),该系统基于程序结构分析技术,以易于程序中的信息,辅助理解C++程序的功能与结构,另外,还利用hypertext、多维表现、导航与定位等技术对理解过程提供支持。  相似文献   

10.
C^++程序设计语言是可以编制面向对象程序的多范型语言,它有深刻的过程式范型程序设计的烙印。在编制面向对象程序时,程序员如果不清楚它的非面向对象特征,编制的OOP会潜藏许多隐形的错误,为此本文以问答形式讨论这些问题,希望读者从中理解到一类问题出现的原因。  相似文献   

11.
A. Biliris  S. Dar  N. H. Gehani 《Software》1993,23(12):1285-1303
C++ objects of types that have virtual functions or virtual base classes contain volatile (‘memory’) pointers. We call such pointers ‘hidden pointers’ because they were not specified by the user. If such C++ objects are made persistent, then these pointers become invalid across program invocations. We encountered this problem in our implementation of O++, which is a database language based on C++. O++ extends C++ with the ability to create and access persistent objects. In this paper, we describe the hidden pointers problem in detail and present several solutions to it. Our solutions are elegant in that they do not require modifying the C++ compiler or the semantics of C++. We also discuss another problem that arises because C++ allows base class pointers to point to derived class objects. C++ has emerged as the de facto standard language for software development, and database systems based on C++ have attracted much attention. We hope that the details and techniques presented will be useful to database researchers and to implementors of object-oriented database systems based on C++.  相似文献   

12.
Pointer swizzling is the conversion of database objects between an external form (object identifiers) and an internal form (direct memory pointers). Swizzling is used in some object-oriented databases, persistent object stores, and persistent and database programming language implementations to speed manipulation of memory resident data. The author describes a simplifying model of application behavior, revealing those aspects where swizzling is most relevant in both benefits and costs. The model has a number of parameters, which the authors have measured for a particular instance of the Mneme persistent object store, varying the swizzling technique used. The results confirm most of the intuitive, qualitative tradeoffs, with the quantitative data showing that some performance differences between schemes are smaller than might be expected. However, there are some interesting effects that run counter to naive intuition, most of which are explained using deeper analysis of the algorithms and data structures  相似文献   

13.
随着技术的发展,信息物理融合系统(cyber-physical system,简称CPS)系统在生活中扮演着越来越重要的角色,例如电力系统,铁路系统.如果CPS遭到攻击,将对现实世界的正常运转造成巨大影响,甚至威胁生命安全.垂悬指针是指向的区域被释放后未被置为空的指针,它是一种会导致攻击的软件缺陷.由垂悬指针导致的use-after-free和double-free漏洞能够执行任意恶意代码.迄今为止,只有少量工作针对垂悬指针进行检测、防御.其中多数都会导致过高的额外运行时开销.本文提出DangDone用于检测和防御垂悬指针.首先,我们通过静态分析检测潜在垂悬指针.然后,基于检测到的垂悬指针信息和一系列预定义的指针变换规则,依据指针传播信息变换指针,使得指针及其别名都指向同一个新引入的指针.基于该方法,我们实现了DangDone的原型工具.基于11个开源项目和SPEC CPU benchmark的实验结果表明,DangDone的静态分析部分只有33%的误报率,指针变换部分只引入了1%左右的额外开销.同时,DangDone成功防护了11个开源项目中的use-after-free和double-free漏洞.实验结果体现了DangDone的高效率及有效性.  相似文献   

14.
基于污点指针的二进制代码缺陷检测   总被引:1,自引:0,他引:1       下载免费PDF全文
污点指针严重影响二进制代码数据流和控制流的安全。为此,提出一种二进制代码缺陷检测方法。引入指针污点传播规则,结合路径约束条件和边界约束条件得到缺陷引发条件,构造能够引发4类污点指针代码缺陷的输入数据。在Linux系统下实现ELF二进制代码缺陷检测工具,测试结果表明,该方法能降低测试用例生成数量,并发现Linux系统工具的1个虚函数调用控制缺陷和2个指针内存破坏缺陷。  相似文献   

15.
Anthony Savidis 《Software》2004,34(10):977-1009
Smart pointers denote a well‐known technique for collective resource ownership, e.g. sharing dynamic object instances, while usually supporting automatic garbage collection based on reference counting. The original method has been retargeted to serve as a generic defensive programming method for ‘exhaustive tracking’ of erroneous pointer use in C++. Automatic bug tracking is supported in a unified manner both for pointers to heap memory, i.e. free storage, as well as for pointers to stack or global memory, i.e. auto or static storage. Overall, the presented technique (a) offers a simple contract for memory allocation and use; (b) supports type and indirection depth genericity; (c) implements most operators supported for built‐in pointers with embedded bug defense; (d) offers an alternative way of employing a garbage collection facility for memory leak detection; and (e) provides an appropriate collection of utility macros, through which defensive pointers should be used, with an alternative version re‐targeted to normal native pointers. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

16.
陶伟  麦中凡 《计算机学报》1997,20(6):525-532
多媒体智能数据库系统MIDS(MultimediaIntelligentDatabaseSystem)的存储系统是一个强大的,高性能的对象存储系统,该存储系统是MIDS引擎的核心,它是基于虚存映身的存储系统,在Client/Server的体系结构下,为数据库提供了大容量,复杂的,共享的,多革体数据存取,然而又不失面的对象数据模型的种种优点,在本文中,我们将介绍基于虚存映射的对象存储系统的基本原理以  相似文献   

17.
OS虚存技术与双缓冲结合──Sambase对象存储系统   总被引:1,自引:0,他引:1  
高媛  庄严  朱坎  郑振楣  石树刚 《软件学报》1997,8(8):600-605
利用操作系统的虚存技术,在虚存中开辟一块空间(大至整个虚存)作为DBMS的缓冲池.这样实现了DBMS和C++之间的无缝连接,无需特殊的编译程序,应用程序利用普通的座存指针,使用与操作临时对象相同的程序代码来直接快速地操作持久对象,建立在这种虚存技术上的缓冲机制使数据库的大小突破了虚存大小的限制.  相似文献   

18.
With reference to a distributed system consisting of nodes connected by a local area network, we consider a salient aspect of the protection problem, the representation of access permissions and protection domains. We present a model of a protection system supporting typed objects. Possession of an access permission for a given object is certified by possession of an object pointer including the specification of a set of access rights. We associate an encryption key with each object and a password with each domain. Object pointers are stored in memory in a ciphertext form obtained by using the object key and including the value of the domain password. Each process is executed in a domain and can take advantage of a given object pointer only if this object pointer was encrypted by including the password of this domain. A set of protection primitives makes it possible to use object pointers for object reference and to control the movements of the objects across the network. The resulting protection environment is evaluated from a number of salient viewpoints, including ease of access right distribution and revocation, interprocess interaction and cooperation, protection against fraudulent actions of access right manipulation and stealing, storage overhead, and network traffic.  相似文献   

19.
指针是C程序设计的重点和难点,也是软件界的讨论热点:、正确而灵活地运用指针,可以有效地表示复杂的数据结构,能动态分配内存,直接处理内存地址等。在学习和应用指针过程中,传统的指针概念和用法常常使人感到困惑。文中提出了单星指针、双星指针等新概念,比较全面地介绍了指针的理论和应用.  相似文献   

20.
陈睿 《软件学报》1995,6(11):665-672
在持久环境(如持久OOPL和OODBS)中,涉及到两类不同的物理存储器:内存和磁盘,应开发隐藏物理细节的抽象存储器层次。虚拟对象存储器(VOS)就是这种抽象存储器层次,在其上,持久对象和暂态对象的操作是同一的。作者利用双拷贝模型实现了一个VOS管理系统。VOS方法的优越性已通过XDPC++的设计与实现得到了证明,XDPC++是基于C++的持久OOPL。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号