[发明专利]程序设计语言中管理指针的方法及系统有效
申请号: | 201110106884.5 | 申请日: | 2011-04-27 |
公开(公告)号: | CN102156631A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 甘志文 | 申请(专利权)人: | TCL集团股份有限公司 |
主分类号: | G06F9/32 | 分类号: | G06F9/32 |
代理公司: | 深圳市君胜知识产权代理事务所 44268 | 代理人: | 杨宏;王永文 |
地址: | 516001 广东省惠州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序设计语言 管理 指针 方法 系统 | ||
1.一种程序设计语言中管理指针的方法,其特征在于,包括:
A、获取指针的值;
B、判断指针缓冲链表中是否存在该指针的地址位;如果是,执行步骤C;否则,执行步骤D;
C、判断所述地址位对应的标识位与所述指针指向的内存的第一个整数区是否具有相同的值;如果是,执行步骤E;否则,执行步骤D;
D、返回假,判定该指针为野指针;
E、返回真。
2.根据权利要求1所述的程序设计语言中管理指针的方法,其特征在于,在步骤A之前,所述的方法还包括:建立并维护指针缓冲链表。
3.根据权利要求1或2所述的程序设计语言中管理指针的方法,其特征在于,指针缓冲链表包括节点,所述节点包括标识位和地址位;其中,该指针缓冲链表的初始值为空。
4.根据权利要求3所述的程序设计语言中管理指针的方法,其特征在于,所述的方法还包括:当系统成功申请一块内存时,在该内存的第一个整数区写入全局计数器的值,并维护指针缓冲链表中的数据。
5.根据权利要求4所述的程序设计语言中管理指针的方法,其特征在于,当系统成功申请一块内存时,在该内存的第一个整数区写入全局计数器的值,并维护指针缓冲链表中的数据的步骤具体包括:
系统调用动态内存分配函数申请内存;
当成功申请一块内存时,返回指向该内存的指针,同时将全局计数器的值自动加1;
在该内存第一个整数区写入全局计数器此时的值;
将该全局计数器的值和指针一起组成一个节点,并将该节点新增到指针缓冲链表中。
6.根据权利要求1所述的程序设计语言中管理指针的方法,其特征在于,在步骤D之后,所述的方法还包括:释放野指针的内存,并更新指针缓冲链表。
7.根据权利要求6所述的程序设计语言中管理指针的方法,其特征在于,释放野指针的内存,并更新指针缓冲链表的步骤具体包括:
调用动态内存释放函数,并释放野指针指向的内存块;
在指针缓冲链表中查找包含该野指针的节点;
删除该节点。
8.一种程序设计语言中管理指针的系统,其特征在于,包括:
指针获取单元,用于获取指针的值;
指针识别单元,用于判断指针缓冲链表中是否存在该指针的地址位;
指针查询单元,用于判断所述地址位对应的标识位与所述指针指向的内存的第一个整数区是否具有相同的值;
真假返回单元,用于在所述地址位对应的标识位与所述指针指向的内存的第一个整数区的值相同时返回真;在指针缓冲链表中不存在所述指针的地址位,或者在指针缓冲链表中存在所述指针的地址位,但所述地址位对应的标识位与所述指针指向的内存的第一个整数区的值不同时返回假。
9.根据权利要求8所述的程序设计语言中管理指针的系统,其特征在于,还包括内存分配单元,用于在系统成功申请一块内存时,在内存第一整数区写入全局计数器的值,并维护指针缓冲链表中的数据。
10.根据权利要求8所述的程序设计语言中管理指针的系统,其特征在于,还包括内存销毁单元,用于释放野指针的内存,并更新指针缓冲链表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110106884.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种燃气灶用吸余热水壶
- 下一篇:一种LED节能灯的散热装置