首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 93 毫秒
1.
指针是C语言中的一个重要概念,正确熟练地掌握指针的概念和指针的使用就能设计出复杂的数据结构和高效的程序。在此重点论述了指针的概念及其在程序中的应用。  相似文献   

2.
付腾桂  王健 《计算机工程》2009,35(13):61-62,6
针对Windows CE流接171驱动程序,通过嵌入指针访问应用程序内存区域时出错的案例,分析错误产生的原因,阐述一些有关Windows CE内存访问的重要概念,包括指针参数、嵌入指针、同步访问、访问检查和内存整理,从而提出对嵌入指针进行内存整理的解决方法。结果证明该方法可以有效地解决异步内存访问出错的问题。  相似文献   

3.
指针是C语言的精华所在,正确使用指针能使程序简洁高效,能避免内存错误和程序异常,保证程序的正确性和可移植性。针对指针在编程过程中可能出现的错误,阐述了C编译器对数据进行内存分配的策略,通过具体的实例进行分析,并给出解决方法。  相似文献   

4.
王磊  茅兵  谢立 《计算机科学》2010,37(1):153-157
内存腐烂攻击在软件安全攻击中占据着较大的比重。近来,动态着色技术得到了越来越多的关注,这种技术通过在访问内存时检测指针的完整性来抵御攻击。然而,存在一类可以绕过指针完整性检查的策略来进行攻击的实例,比如数组的越界访问攻击。提出了一种基于动态着色跟踪分析的方法来解决这类已有着色技术不能检测的问题。其思想是,借助于内存访问控制的思路,首先像已有的动态着色技术那样,在内存访问时对指针进行完整性检查,然后检查指针将要访问的内存区域是否处于指针合理的访问范围之内。原型系统是基于Valgrind的,并不需要源码,因此可以用于很多商业软件。初步实验验证结果表明,该方法可以有效地检测出很多类型的攻击,系统的性能损耗接近于Memcheck这种常用的内存错误检测工具。  相似文献   

5.
Windows下访问物理地址的方法   总被引:1,自引:0,他引:1  
介绍了在Windows环境下如何形成绝对内存地址指针以实现在保护模式下访问物理内存的方法。  相似文献   

6.
C/C++语言是被广泛应用的计算机编程语言,指针是C语言中至关重要的概念之一。正确使用指针可以使代码简练高效,使用不正确也会带来负面影响,造成程序的错误或漏洞。以指针的应用为基础,总结使用指针过程中的一些常见且较为隐蔽的错误,进行安全性的分析。并提出改正方法。  相似文献   

7.
指针是C语言中一个重要概念,也是C语言的一大特色。利用指针可以直接实现对内存的数据进行快速处理、实现函数间的通信等。从C语言指针的概念出发,分析了指针教学中的几个关键点问题,对在教学中存在的一些问题进行探讨。  相似文献   

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

9.
基于指针分析的内存泄露故障测试方法研究   总被引:2,自引:1,他引:1  
提出了一种新的指针分析方法,通过静态分析程序中指针的映射关系来检测内存泄漏故障;给出了指针映射代数系统的概念,在此基础上分析了如何构造指针映射集,并详细叙述了测试步骤;最后通过实例分析了该方法的应用效果,讨论了需要进一步解决的问题。该方法还考虑了控制流图和路径条件,提高了测试结果的精度。  相似文献   

10.
指针是C语言中的一个重要概念,也是C语言的一个重要特色。正确而灵活地运用指针,可以有效地表示复杂的数据结构;能动态分配内存:方便地使用字符串;有效而方便地使用数组;在调用函数时能得到多于1个值;能直接处理内存等。然而指针又是非常不安全的设施,错误的理解与使用指针,将使用户  相似文献   

11.
Illegal pointer and array accesses are a major cause of failure for C programs. We present a technique called ‘guarding’ to catch illegal array and pointer accesses. Our implementation of guarding for C programs works as a source-to-source translator. Auxiliary objects called guards are added to a user program to monitor pointer and array accesses at run time. Guards maintain attributes to catch out of bounds array accesses and accesses to deallocated memory. Our system has found a number of previously unreported errors in widely-used Unix utilities and SPEC92 benchmarks. Many commonly used programs have bugs which may not always manifest themselves as a program crash, but may instead produce a subtly wrong answer. These programs are not routinely checked for run-time errors because the increase in execution time due to run-time checking can be very high. We present two techniques to handle the high cost of run-time checking of pointer and array accesses in C programs: ‘customization’ and ‘shadow processing’. Customization works by decoupling run-time checking from original computation. A user program is customized for guarding by throwing away computation not relevant for guarding. We have explored using program slicing for customization. Customization can cut the overhead of guarding by up to half. Shadow processing uses idle processors in multiprocessor workstations to perform run-time checking in the background. A user program is instrumented to obtain a ‘main process’ and a ‘shadow process’. The main process performs computations from the orignal program, occasionally communicating a few key values to the shadow process. The shadow process follows the main process, checking pointer and array accesses. The overhead to the main process which the user sees is very low – almost always less than 10%. © 1997 by John Wiley & Sons, Ltd.  相似文献   

12.
指针是C语言的一个重要概念,文章对指针基本概念和使用作了简单介绍,总结了指针在使用过程中常犯的错误,讨论了出错的原因,指出正确使用指针的方法,并阐述了C语言中的指针与数组、函数等结合起来的指针及其应用。  相似文献   

13.
C++语言中,指针应用的误区可以分为操作空指针、内存泄露、重复释放、误用常量指针和常量指针四个方面。本文给出了可能的错误场景,并给出解决方法。  相似文献   

14.
C++对象的持久化中的问题和解决方案   总被引:1,自引:0,他引:1       下载免费PDF全文
陶伟  麦中凡 《软件学报》1996,7(2):73-82
多媒体智能数据库系统MIDS(multimediaintelligentdatabasesystem)是一个对象数据库管理系统.它的数据库编程语言是P++,P++个语言是一种基于C++的语言.作者在P++的实现过程中遇到了以下问题:首先,C++的指针有二义性,它无法在语义上区分成员指针和引用指针,以及易失性指针和持久性指针,从而给事务管理中的对象加锁及其它方面带来问题.其次,具有虚拟函数或虚拟基类的对象中含有指向内存中的指针,而这些指针不是由程序员定义的.如果C+个对象被持久化,这些指针在不同的程序调用中有可能无效.最后,如果作者用文件系统调用来存储对象,那么必须要设计复杂的Cache系统和做大量对象的格式转化工作,这需要大量的空间和时间,所以他们采用了另外的一种方法──基于虚拟内存空间映射的存储方案.  相似文献   

15.
分析了Linux 内核模块特点,针对内核模块中二进制指令执行时带来的访存错误,设计了一种针对内核模块的静态检测方法。通过模拟内核模块中指令的执行,并比较访存指令请求与相关内存区域信息,静态检测方法目标是找出代码对内存的非法访问,并对可疑的访存行为发出警告。针对 ARM 处理器平台,给出了静态检测方法的具体实现,并对内核模块中的访存错误就行了检测验证。实验表明,静态检测方法能够有效找出包括地址越界访问、读未初始化内存、访问已释放内存等访存错误,本文的静态检测方法达到了预期的检测效果。  相似文献   

16.
C语言是一门优秀的语言,其在多个领域都有着很好的应用。指针是C语言的精华所在。本文阐述了指针的概念,对指针的常见类型进行了分析,并对指针的运算和相关应用做了详细的实例讲解,有效引入了指针对数组和函数的调用,对具体问题进行了讲解。  相似文献   

17.
C语言指针教学中的知识点分析与总结   总被引:1,自引:1,他引:0  
分析指针的基本概念及指针在数组、函数、字符串、动态存储分配等方面的应用,提出指针教学过程中易混淆概念及注意事项,对初学者深入理解指针原理及应用有重要的指导意义。  相似文献   

18.
C语言作为一种“高级的低级“语言,成为嵌入式系统开发的最佳选择.在嵌入式程序设计中灵活地使用C指针,可以使程序简洁、紧凑、高效,会达到很好的效果.文章主要从数据指针、动态申请内存指针引用数组元素、函数指针几个方面阐述了C指针在嵌入式编程中的应用.  相似文献   

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

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