共查询到20条相似文献,搜索用时 218 毫秒
1.
机械设计目前已全面应用CAD方法即借助电脑软件实现建模及修改等。为了利用C++的类封装机制,人们常常开发基于C^++的高层面向对象语言来编制机械设计软件。带有虚拟函数或虚拟基类的C^++对象包含动态内存指针,这些指针超出创建它们程序生存期即告无效,但开发基于C^++的高层面向对象语言必须使用稳固对象。本文分析隐含指针问题并讨论实现对象转储的途径。 相似文献
2.
本文研究了用C++语言调用由FoxPro for Windows管理图象的实现方法,讨论了Foxpro for Windows管理各种图形和图象的存储方法,并应用在金属学CAI教学软件中,大大地方便了CAI软件的图象管理和完善,此外,还给出了C++语言调用Foxpro for Windows管理的各种图形文件的实例。 相似文献
3.
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.
陆云龙 《电脑编程技巧与维护》2010,(12):18-19
DotNet平台中,通常使用C#语言构建应用程序。C#调用C++动态链接库文件时,如果导出函数中涉及自定义类型指针形式的参数传递,需要使用C#中的IntPtr传递指针。在此给出了与C++的联合开发步骤。 相似文献
8.
本文从C/C++语言和Fortran90语言特点的角度,全面分析了相应调用机制。从参量传递协议、函数调用协议,参数变量命名规则,可变参量入口和地址传送等方面用了详细的分析,介绍了不同语言间的数据,数组和字符串传送方法,并简介VisualC++6.0调用Fortran PowerStation4.0的连接方法。 相似文献
9.
本文介绍了一个针对C++语言的程序理解辅助系统HOOPUS(hypertext-basedobject-oriened program understanding support system),该系统基于程序结构分析技术,以易于程序中的信息,辅助理解C++程序的功能与结构,另外,还利用hypertext、多维表现、导航与定位等技术对理解过程提供支持。 相似文献
10.
C^++程序设计语言是可以编制面向对象程序的多范型语言,它有深刻的过程式范型程序设计的烙印。在编制面向对象程序时,程序员如果不清楚它的非面向对象特征,编制的OOP会潜藏许多隐形的错误,为此本文以问答形式讨论这些问题,希望读者从中理解到一类问题出现的原因。 相似文献
11.
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.
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.
多媒体智能数据库系统MIDS(MultimediaIntelligentDatabaseSystem)的存储系统是一个强大的,高性能的对象存储系统,该存储系统是MIDS引擎的核心,它是基于虚存映身的存储系统,在Client/Server的体系结构下,为数据库提供了大容量,复杂的,共享的,多革体数据存取,然而又不失面的对象数据模型的种种优点,在本文中,我们将介绍基于虚存映射的对象存储系统的基本原理以 相似文献
17.
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.
20.
在持久环境(如持久OOPL和OODBS)中,涉及到两类不同的物理存储器:内存和磁盘,应开发隐藏物理细节的抽象存储器层次。虚拟对象存储器(VOS)就是这种抽象存储器层次,在其上,持久对象和暂态对象的操作是同一的。作者利用双拷贝模型实现了一个VOS管理系统。VOS方法的优越性已通过XDPC++的设计与实现得到了证明,XDPC++是基于C++的持久OOPL。 相似文献