- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++中Namespace概念的逆向分析
——构件化程序设计支持
樊平,刘超
HB京航空航天大学软件工程研究所,北京100083)
cn
E—mail:fanning@sei.buaa.edu.cn,liuchao@buaa.edu
摘要: 本文主要论述了c++引入名字空闻后在接口封装手段上的变化,这类变化为构件化的程序设计提供
了基础支持。基于对这些变化的理解,本文简要介绍了新的提取出程序的逻辑和物理结构的逆向分析.T-具。同
时为了辅助软件的设计开发人员充分利用这些程序结构信息对原来的实现进行再工程,本文给出了衡量程序构
件化程度的评价标准和指导再工程的一些基本方法。
关键词: c++,名字空间,构件,接口,逆向工程,构件化程序设计
1概述
c++语言是一种支持多范型编程的通用编程语言【1】。关于c++程序逆向分析建模以及CASE工具的研
究已经很多,但多数集中于对传统结构化程序设计中的函数、变量,和面向对象设计中的类、类的成员及
其关系的分析。Namespace是一个较晚引入c++的概念,其直接目的是解决令人头疼的名字冲突问题,但
其本质是为实现程序构件的独立性提供的一种技术手段,从而在语言层面上支持可复用的构件化程序设计。
这就要求我们在逆向分析建模中针对Namespace概念,构造出更能体现程序的构件化体系结构及其包含的
丰富的复用构件(或构件库)的程序模型。本文主要论述了c++引入名字空间后在接口封装手段上的变化,
这类变化为构件化的程序设计提供了基础支持。基于对这些变化的理解,本文简要介绍了新的提取出程序
的逻辑和物理结构的逆向分析工具。为了辅助软件的设计开发人员充分利用这些程序结构信息对原来的实
现进行再工程,本文给出了衡量程序构件化程度的评价标准和指导再工程的一些基本方法。本文第2节介
绍基本概念,第3节重点论述名字空间如何支持构件化的程序设计,第4节介绍了我们的逆向分析工具.
随后讨论如何利用分析结果改进程序结构,最后简要介绍了我们在实现逆向识别c++程序中的一些经验。
2名宇空间的基本概念和使用方法
名字空间是一种描述程序元素逻辑分组的机制。图
l是一个简化的c++语言元模型:∞
其中所有聚集关系表示包含,关联关系表示引用。从中
我们可以看出名字空间在C++中的地位,它可以包含类、
函数、变量和嵌套的子名字空间,同时它也可以被函数、
方法、类和其他名字空间引用。也就是说,如果有一些
声明按照某种准则在逻辑上属于同一个集合,那我们就
可以把它们放入到同一个名字空间,以表明这个事实。
图1一个简化的c++语言元
c++语言提供了四个机制来支持这个概念111:
) 定义作用域的机制(1ine1),即名字空问,用于放置传统C和c++全局声明的东西。这种作
用域可以命名,访问名字空间的成员采用访问类成员的传统记法(1ine2)。
基金顶目:国家863高科技发展计划(2001AAll3100);国家“九五”国防预研基金
作者简介樊{z(1979--),男,.硕士研究生,主要研究领域为软件测试环境,软件逆向工程。刘超,男,教授,主要研究领域为软件
测试。
£::生丝!型竺堑壁型丝型L生
2) 一种为名字空间定义局部同义词的机制,在用户局部作用域中简化名字空间记法。定义名字
3)。
空间别名(1ine
3) 一种允许不显示的写出作用域限定而访问名字空间成员的机制:使用声明(usingdeclaration)
(1ine4,5)。
4) 一种允许不显示的写出作用域限定而直接访问名字空间的全部成员的机制:使用指示(using
directive)(1ine6,7)。
line ∥名字空间定义
1:namespaceNS{intml,m2,m3=0;}
2:NS::
您可能关注的文档
- BioCryptor基于级联模糊提取的新型生物密码方法研究.pdf
- C语言教学探讨研究.pdf
- C语言教学应聘教育小荷露角研究.pdf
- Biological Characteristics of Marssonina coronaria and Its Pesticide Screening in Laboratory研究.pdf
- Bioprocessor+10《发酵过程控制专家系统》软件研究.pdf
- C语言教学中上机考试及自动评分系统研究与开发研究.pdf
- C语言教学中一题多解来拓展学生的解题思路研究.pdf
- 小麦T型雄性不育育性恢复基因Rf6的SSR标记和育性相关基因的分离研究.pdf
- 小麦Waxy基因的分子标记及其应用研究.pdf
- BIPV中光伏阵列朝向和倾角对性能影响理论研讨.pdf
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)