首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
this指针是由系统自动生成的,隐含于每一个类的成员函数中的特殊指针,该指针指向正在对某个成员函数操作的对象。该文通过实例及其汇编代码详细地分析了this指针的特点和它的使用方法,从而进一步的理解C++中的对象和其在内存中的分配情况。  相似文献   

2.
基于源代码静态分析的C++0x泛型概念抽取   总被引:1,自引:0,他引:1  
使用泛型概念对领域知识进行抽象是泛型程序设计方法的基础.在新的C++0x标准中泛型概念将成为一个新的语言设施,这将为设计可复用、可扩展的泛型软件提供坚实的基础.为了更好地利用C++0x的新特性,有必要识别C++遗产代码中的泛型概念,并通过重构得到符合C++0x标准的代码.文中提出了一种基于代码静态分析的泛型概念自动识别方法,通过对泛型程序中类型参数的使用分析,从遗产代码中提取有效表达式约束和关联类型约束,进而推导出泛型概念.将该方法应用于C++标准模板库STL,可以识别出STL算法中绝大部分潜在的泛型概念,表明该方法有助于识别遗产代码中的泛型概念.  相似文献   

3.
提出了一种带环检测功能的深度优先搜索拓扑排序算法,详细介绍了几种基本拓扑排序算法,分析了带环检测功能的深度优先搜索拓扑排序算法的意义和作用,并证明了该算法的完备性和正确性,给出了该算法的用C++编写的实现代码。  相似文献   

4.
采用Visual C++ 6.0开发平台实现了DXF文件读取的接口技术。针对图元排序问题,提出了一种优化排序算法,包括封闭图形的有序化处理、矢量化判断轮廓顺逆方向和包络矩形法结合基于射线法判断轮廓岛屿关系。针对全局路径优化问题,提出一种易于实现的相邻最短路径优化算法,通过实例证实了算法的有效性和实用性。该算法有效缩短了数控切割加工的辅助时间,提高了加工效率,并且能广泛应用于自动编程数控系统中。  相似文献   

5.
针对GPU上应用开发移植困难的问题,提出了一种串行计算源程序到并行计算源程序的映射方法。该方法从串行源程序中获得可并行化循环的层次信息,建立循环体结构与GPU线程的对应关系,生成GPU端核心函数代码;根据变量引用读写属性生成CPU端控制代码。基于该方法实现了一个编译原型系统,完成了C语言源程序到CUDA源程序的自动生成。对原型系统在功能和性能方面的测试结果表明,该系统生成的CUDA源程序与C语言源程序在功能上一致,其性能有显著提高,在一定程度上解决了计算密集型应用向CPU-GPU异构多核系统移植困难的问题。  相似文献   

6.
针对Miasm反混淆框架反混淆后的结果是一张图片,无法反编译恢复程序源码的问题,在对底层虚拟机混淆器(OLLVM)混淆策略和Miasm反混淆思路进行深入学习研究后,提出并实现了一种基于符号执行的OLLVM通用型自动化反混淆框架。首先,利用基本块识别算法找到混淆程序中有用的基本块和无用块;其次,采用符号执行技术确定各个有用块之间的拓扑关系;然后,直接对基本块汇编代码进行指令修复;最后,得到一个反混淆后的可执行文件。实验结果表明,该框架在保证尽量少的反混淆用时前提下,反混淆后的程序与未混淆源程序的代码相似度为96.7%,能非常好地实现x86架构下C/C++文件的OLLVM反混淆。  相似文献   

7.
严忠林 《计算机工程》2011,37(16):62-64
C指针的处理是C to Java代码自动转换系统中一个重要而困难的问题。已有的方法大多不能处理含有技巧的指针代码,转换生成的代码难以理解,往往无法正确执行。基于此,提出一种可用Java实现C指针所有功能的方案,该方案在类型转换后不改变原程序结构,并保持尽可能高的运行效率。示例分析表明,运用该方法可使各种类型的C指针运用都能自动转换为执行正确、结构清晰、修改方便、运行快捷的Java代码。  相似文献   

8.
在无纸化考试结束后,其系统回收试卷多以Word文档的形式提供.对于包含程序设计题目的电子试卷来说,需要对程序设计语言源代码进行提取、分析.利用C++、MFC实现了Word型电子试卷程序源码提取及分析软件.软件能够提取电子试卷中源程序代码并放置于指定目标文件中,且具备创建目录并将目标文件放于指定目录的功能,能够调用计算机中已有的编译程序对特定语言源程序进行编译、链接并返回结果.  相似文献   

9.
一种基于指针逻辑的代码安全属性分析方法   总被引:1,自引:0,他引:1  
在分析和总结前人工作的基础上,提出了一种改进的代码安全属性验证方法.该方法在利用传统的源代码安全属性验证工具的基础上,加入了指针逻辑,针对现有代码属性分析技术只能对C语言子集进行分析验证的不足,利用指针逻辑对源代码的分析结果对源代码中的指针进行替换,从而避开了传统静态代码属性验证工具对指针处理功能太弱的瓶颈,可以实现对C语言中的部分指针及运算进行处理.  相似文献   

10.
C++中用指针和引用传递函数参数剖析   总被引:3,自引:0,他引:3  
指针和引用的使用给 C++程序设计带来了灵活性和高效率。分析了 C++函数调用过程中指针和引用的使用机制 ,并结合实例说明了它们在程序设计中的应用。  相似文献   

11.
Matlab具有很强的数值计算和分析等能力,而C/C++是目前最为流行的高级程序设计语言,两者互补结合的混合编程在科学研究和工程实践中具有非常重要的意义。从Matlab调用C/C++代码及C/C++调用m文件两方面,深入地研究了它们之间混合编程的原理和实现机制,并且给出了具体条件下的混合编程方法和步骤。实验表明,给出的Matlab与C/C++混合编程接口及应用方法是有效、实用的。  相似文献   

12.
本文对FOXBASE命令文件执行部分及其调试命令机制的综合分析,以及剖析FOXBASE自身对加密.FOX文件还原算法,彻底将.FOX还原为源程序代码。  相似文献   

13.
程序流程图在整个软件工程的生命周期中发挥着非常重要的作用。在软件设计中,设计人员通常需要先根据算法从结构上画出程序执行流程图,然后再依据流程图写出相应的源程序代码;在分析和维护软件时,如果能先将源程序代码逆向转换成流程图,则可以有效地帮助分析程序结构。显然,若能让计算机自动地实现流程图与源程序代码之间的相互转换,将大量节省软件开发的人力资源和时间耗费。讨论了如何利用基于边的图文法EGG来自动地实现这种转换,并用具体例子展示了应用EGG图文法的归约和推导操作分别实现流程图的语法分析和流程图的逆向生成,前者可以完成从流程图自动生成源程序代码,而后者则可以从源程序代码自动生成流程图。  相似文献   

14.
一种基于模型检验程序分析技术的前端工具研究   总被引:1,自引:0,他引:1  
叶俊民  谢茜  金聪  李明  张振方 《计算机科学》2010,37(5):118-122174
提出了一种用模型检验技术对程序进行分析的方法,其主要思想是将C/C++源代码转换为与控制流图等价的Kripke结构,用CTL公式描述待验证的源程序性质,使用NuSMV模型检验工具实施具体的程序分析。基于这一思想,设计并实现了一个自动将C/C++源代码转换为NuSMV输入的工具。所做的实验验证表明,该方法能够有效地对程序进行分析。  相似文献   

15.
Matlab与C/C++混合编程技术研究   总被引:5,自引:0,他引:5  
Matlab具有强大的数值计算和分析等能力,而C/C++是目前最为流行的高级程序设计语言,两者互补结合的混合编程在科学研究和工程实践中具有非常重要的意义.因此,从Matlab调用C/C++代码及C/C++调用m文件两方面,深入地研究了它们之问混合编程的原理和实现机制,并且给出了具体条件下的混合编程方法和步骤.实例表明,提出的Matlab与C/C++混合编程方法是简洁、有效的.  相似文献   

16.
用C++向量表示集合、候选集、频繁项目集,结合C++向量的操作特点,设计和实现了基于Apriori算法的关联规则产生程序,该程序用于物资管理系统中易耗物品关联信息的挖掘,运行结果证明了正确性.  相似文献   

17.
文章提出并实现了一种由PC机和C/C++构成的PDA软件开发环境,借助于该环境中的一系列工具,PDA应用软件可在PC机上进行代码编写、源程序调试及模拟运行。PC机上生成的目标程序转换为可在PDA运行的固件代码。在不依赖硬件开发环境的同时,提高了开发效率。  相似文献   

18.
分析数据加密技术中的置换算法及其加密解密指导思想,给出加密解密置换算法的程序设计方法与具体实现步骤,并提供一个完整的加密解密算法的C++源程序。  相似文献   

19.
通过对汉诺问题的递归算法及结果的分析,创造性地借助二叉树的数据结构设计出非递归算法。给出了实现该算法的C++语言源程序。该算法并未真正在物理上生成所谓的二叉树,有别于常规对二叉树结构的使用。  相似文献   

20.
通过编译的C++程序代码并不一定保证代码中不存在缺陷。代码中可能依然隐含了安全、设计或是风格上的缺陷,从而导致程序运行时出现内存泄露、指针误用等现象,或导致程序代码不清晰、可读性差。为了有效查找这些缺陷,探讨了可定制缺陷规则的C++代码缺陷自动检测技术,介绍了两种缺陷定位方法,给出了一种基于XPath技术的缺陷规则定制方法,设计并实现了一种代码缺陷自动检测工具CDD(C++ defect detector),并通过实验证明了缺陷定位方法的有效性以及CDD的易用性。  相似文献   

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

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