[发明专利]C语言程序设计中基于对象编程的方法及系统无效

专利信息
申请号: 201210537010.X 申请日: 2012-12-11
公开(公告)号: CN102981885A 公开(公告)日: 2013-03-20
发明(设计)人: 肖波 申请(专利权)人: 中国工程物理研究院流体物理研究所
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 暂无信息 代理人: 暂无信息
地址: 621900 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 语言程序设计 基于 对象 编程 方法 系统
【说明书】:

一、技术领域

发明涉及对C语言程序设计中基于对象编程的方法,通过该方法能实现在C语言程序设计中基于对象编程的方便性、安全性、和高效性。

二、背景技术

C语言具有语法简明、贴近计算机底层的优点。一个刚刚接触C语言学生经过短暂的学习后,就能用C语言编写高效率的一般计算程序。所以,C语言被最为广泛地选择为高校的程序设计教学语言,具有最为广泛的知熟群体。绝大部分的编程人员都懂得C语言。

但是,在解决复杂问题时,如窗口程序设计、网络程序设计、大型的科学计算程序设计等,C语言的使用率则大大降低。其中一个很重要的原因是,复杂问题中具有各种各样的复杂对象,例如一个窗体、一副图片,而用C语言直接处理对象具有很大的不方便性。在C语言中处理对象时,需要大量地将结构体、指针、内存申请和释放函数结合起来使用,这样的使用往往让一个C语言新手遭遇堆栈溢出、内存泄漏、效率低、野指针、隐蔽的计算错误等等烦恼,对这些问题的调试往往花费编程者大量的时间和精力。另外,不同编程者的对象的实现方式上也各式各样,不便于共享。最终,人们用C语言编写的复杂对象程序往往失去了C语言应有的简洁。

为了方便地处理复杂对象,人们发明了更高级的程序设计语言,其中最为有名的语言有C++和Java。C++堪称是最为复杂的语言,它虽然保留了C语言的贴近计算机底层的特性,但它同时也引入了许多复杂的概念。C++的复杂性所带来的较高学习成本使得越来越多的程序设计学习者转向其它的语言。另外,C++中实际上依然存在指针和内存问题。Java具有和C语言一样的语法简明的优点,所以吸引了大批的使用者。但遗憾的是,它所依赖的内存托管机制会带来程序运行效率和内存使用效率的降低,所以Java主要用于网络编程,在科学计算等应用中用得很少。

三、发明内容

本发明的目的在于提供一种C语言程序设计中基于对象编程的方法及系统,使得人们能够使用C语言这门简单、拥有最广泛知熟群体的语言来编写简洁、安全、高效的基于对象的程序。

本发明的基本思路是:提供一个基于对象编程的底层系统,该系统包括地址栈和地址栈操作函数库、对象定义模板、和对象操作函数定义模板。基于地址栈和地址栈操作函数库,当一个函数在返回一个对象类型的返回值时,将该对象同时注册到地址栈顶部。当其它函数接收该函数的返回对象作为自己的输入参数时,能够根据地址栈顶部元素信息来判断出该参数是一个函数返回对象。利用这个重要的判断,在接收该对象的函数内部可以对该对象进行恰当的资源回收或者高效利用,从而达到内存安全和高效的目的。对象定义模板和对象操作函数则对对象的回收或高效利用这些技术细节进行了规范的包装,使得编程者可以不用关心这些细节而方便地编写安全、高效的程序。

本发明解决其技术问题所采用的具体技术方案是:

一种C语言程序设计中基于对象编程的底层系统,其中包括:存储函数返回对象的地址栈以及地址栈的操作函数库;对象定义模板;对象操作函数定义模板。

该系统提供两种使用模式,调试模式和发行模式。在调试模式下,模板能够在编译和运行时刻检查不符合模板规定的程序编写方式,提供改正意见。在发行模式下,模板不进行规则检查,而是以最大效率运行。

地址栈的操作函数库包括:入栈函数,用于将一个函数返回对象的首地址压入地址栈顶部;出栈函数,用于将一个函数返回对象的首地址从地址栈中取出;判断函数,用于判断一个对象的首地址是否在地址栈中;保护函数,用于在地址栈顶部压入一个结点,以保护嵌套调用;去保护函数,用于取出地址栈顶部的结点,以解除保护;接收函数,用于接收一个没有其它函数来接收的函数返回对象;回收函数,用于在函数体内部回收属于函数返回对象的函数参数。外部程序只允许通过地址栈操作函数访问地址栈。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工程物理研究院流体物理研究所,未经中国工程物理研究院流体物理研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210537010.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top