CN109976764A - 一种句柄转换方法 - Google Patents
一种句柄转换方法 Download PDFInfo
- Publication number
- CN109976764A CN109976764A CN201910243866.8A CN201910243866A CN109976764A CN 109976764 A CN109976764 A CN 109976764A CN 201910243866 A CN201910243866 A CN 201910243866A CN 109976764 A CN109976764 A CN 109976764A
- Authority
- CN
- China
- Prior art keywords
- handle
- pointer
- conversion method
- present
- obtains
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
- G06F8/434—Pointers; Aliasing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种句柄转换方法,包括对象指针右移一位得到句柄以及句柄左移一位得到对象指针的步骤。本发明的方法解决了实时操作系统中文件打开时间长的问题,而且可减少内存占用,并能反映文件打开是否出错及出错信息。
Description
技术领域
本发明涉及一种绘图过程的继承方法。
背景技术
句柄是和对象指针为一一对应的32位无符号整数值。对象指针可以映射到唯一的句柄,对象指针也可以映射到唯一的对象。操作系统向程序员提供必要地编程接口,在这些接口中,允许程序员访问、创建和销毁对象。所以在这些操作系统中,句柄与对象指针通过映射实现一一对应。
现有技术中,句柄与对象指针映射方式主要有两种:全等映射以及表格映射。
全等映射也即,句柄本身就是一个指针。映射在这里只是类型转换而已。这种情况有:“进程实例句柄”、“模块句柄”、“资源句柄”等等。
表格映射这是对象指针与句柄之间最普通的映射机制。操作系统创建表格,并保存所有要考虑的对象。需要创建新对象时,要先在表格中找到空入口,然后把表示对象的数据添入其中。当对象被删除时,它的数据成员和其在表中的入口被释放。
但是,对于全等映射而言,只做类型转换,对象指针直接返回给用户,而指针转换成整数后,有可能是负数,不符合C规定句柄为有符号正数的标准,也不能用负数作为出错标志。对于表格映射而言,文件打开需要查找表格中未占用的项,分配给该文件,文件关闭需要取消对表格的占用,导致文件打开较慢,而且需要维护表格占用内存。
发明内容
针对上述技术问题,本发明提供一种句柄转换方法,包括对象指针右移一位得到句柄以及句柄左移一位得到对象指针的步骤。
进一步地,所述句柄为有符号的32位值。
进一步地,所述对象指针最后一位为零。
与现有技术相比,本发明的有益效果是:
本发明的方法解决了实时操作系统中文件打开时间长的问题,而且可减少内存占用,并能反映文件打开是否出错及出错信息。
附图说明
图1为本发明方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种句柄转换方法,包括对象指针右移一位得到句柄以及句柄左移一位得到对象指针的步骤。
根据现代编译器为变量分配内存的对齐原则,对象指针最后一位始终为零,对象指针右移一位转换成句柄时候,得到的句柄一定是正数;出现打开失败,则返回负的非法句柄,则。而本发明的方法对象指针末位的“0”通过右移一位,使得句柄首位变成0,即实现正数。
本发明的方法解决了实时操作系统中文件打开时间长的问题,而且可减少内存占用,并能反映文件打开是否出错及出错信息。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (3)
1.一种句柄转换方法,其特征在于:包括对象指针右移一位得到句柄以及句柄左移一位得到对象指针的步骤。
2.根据权利要求1的句柄转换方法,其特征在于:所述句柄为有符号的32位整数值。
3.根据权利要求1的句柄转换方法,其特征在于:所述对象指针最后一位为零。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910243866.8A CN109976764A (zh) | 2019-03-28 | 2019-03-28 | 一种句柄转换方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910243866.8A CN109976764A (zh) | 2019-03-28 | 2019-03-28 | 一种句柄转换方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN109976764A true CN109976764A (zh) | 2019-07-05 |
Family
ID=67081221
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910243866.8A Pending CN109976764A (zh) | 2019-03-28 | 2019-03-28 | 一种句柄转换方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109976764A (zh) |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19742804A1 (de) * | 1996-09-27 | 1998-04-02 | Kodak Ltd | Computer-Verfahren und -Vorrichtung für interaktive Objektsteuerungen |
| US5890176A (en) * | 1996-04-24 | 1999-03-30 | International Business Machines Corp. | Object-oriented document version tracking method and apparatus |
| US20030158836A1 (en) * | 2002-02-20 | 2003-08-21 | Dinesh Venkatesh | Cluster meta file system of file system cells managed by respective data movers of a network file server |
| US6662342B1 (en) * | 1999-12-13 | 2003-12-09 | International Business Machines Corporation | Method, system, and program for providing access to objects in a document |
| WO2007065356A1 (fr) * | 2005-12-05 | 2007-06-14 | Beijing Sursen Co., Ltd | Procede de traitement documentaire |
| CN101206586A (zh) * | 2006-12-19 | 2008-06-25 | 康佳集团股份有限公司 | 一种操作系统句柄管理方法 |
| US20090019079A1 (en) * | 2007-07-11 | 2009-01-15 | Mats Stefan Persson | Method, system and computer-readable media for managing software object handles in a dual threaded environment |
| CN102214088A (zh) * | 2010-04-07 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 文件解锁的方法和装置 |
| CN102855437A (zh) * | 2011-06-27 | 2013-01-02 | 奇智软件(北京)有限公司 | 一种文件解锁的方法及装置 |
| US20150169226A1 (en) * | 2013-12-17 | 2015-06-18 | Xipeng Shen | Technologies for persistent memory programming |
| CN105468342A (zh) * | 2014-08-20 | 2016-04-06 | 西安慧泽知识产权运营管理有限公司 | 一种新的操作系统句柄管理方法 |
| CN106951326A (zh) * | 2017-03-16 | 2017-07-14 | 腾讯科技(深圳)有限公司 | 一种文件解锁方法及电子设备 |
-
2019
- 2019-03-28 CN CN201910243866.8A patent/CN109976764A/zh active Pending
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5890176A (en) * | 1996-04-24 | 1999-03-30 | International Business Machines Corp. | Object-oriented document version tracking method and apparatus |
| DE19742804A1 (de) * | 1996-09-27 | 1998-04-02 | Kodak Ltd | Computer-Verfahren und -Vorrichtung für interaktive Objektsteuerungen |
| US6662342B1 (en) * | 1999-12-13 | 2003-12-09 | International Business Machines Corporation | Method, system, and program for providing access to objects in a document |
| US20030158836A1 (en) * | 2002-02-20 | 2003-08-21 | Dinesh Venkatesh | Cluster meta file system of file system cells managed by respective data movers of a network file server |
| WO2007065356A1 (fr) * | 2005-12-05 | 2007-06-14 | Beijing Sursen Co., Ltd | Procede de traitement documentaire |
| CN101206586A (zh) * | 2006-12-19 | 2008-06-25 | 康佳集团股份有限公司 | 一种操作系统句柄管理方法 |
| US20090019079A1 (en) * | 2007-07-11 | 2009-01-15 | Mats Stefan Persson | Method, system and computer-readable media for managing software object handles in a dual threaded environment |
| CN102214088A (zh) * | 2010-04-07 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 文件解锁的方法和装置 |
| CN102855437A (zh) * | 2011-06-27 | 2013-01-02 | 奇智软件(北京)有限公司 | 一种文件解锁的方法及装置 |
| US20150169226A1 (en) * | 2013-12-17 | 2015-06-18 | Xipeng Shen | Technologies for persistent memory programming |
| CN105468342A (zh) * | 2014-08-20 | 2016-04-06 | 西安慧泽知识产权运营管理有限公司 | 一种新的操作系统句柄管理方法 |
| CN106951326A (zh) * | 2017-03-16 | 2017-07-14 | 腾讯科技(深圳)有限公司 | 一种文件解锁方法及电子设备 |
Non-Patent Citations (1)
| Title |
|---|
| 林烟桂: "《Java语言程序设计》", 华中理工大学出版社 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9405518B2 (en) | Leveraging legacy applications for use with modern applications | |
| CN113821531B (zh) | 融媒体多租户数据隔离方法、系统及设备 | |
| CN106844380A (zh) | 一种数据库操作方法、信息处理方法和相应装置 | |
| EP2328301A1 (en) | Method and apparatus for managing the authority in workflow component based on authority component | |
| CN111694547A (zh) | 一种基于数据状态变化的自动编码数据处理应用设计工具 | |
| CN106250226A (zh) | 基于一致性哈希算法的任务调度机制及系统 | |
| CN102819426A (zh) | 一种AUTOSAR模型同步到Simulink模型的方法 | |
| CN109783346A (zh) | 基于关键字驱动的自动化测试方法、装置及终端设备 | |
| CN110321374B (zh) | 基于分布式网络的标准文件io操作系统及方法 | |
| CN109446202A (zh) | 标识符分配方法、装置、服务器和存储介质 | |
| CN107368498A (zh) | 优化MySQL悲观锁的锁等待超时时间的方法及装置 | |
| CN105045635B (zh) | 配置表文件的生成方法 | |
| EP3123699B1 (en) | System and method for supporting data types conversion in a heterogeneous computing environment | |
| CN109542432A (zh) | 风控规则编辑方法及终端设备 | |
| CN108363791A (zh) | 一种数据库的数据同步方法和装置 | |
| US10402422B2 (en) | Method and system for synchronizing data | |
| CN109976764A (zh) | 一种句柄转换方法 | |
| CN107273764B (zh) | 一种Swift语言实施的安全协议的安全性验证方法 | |
| CN120821453A (zh) | 基于前端框架的动态页面渲染方法、系统、电子设备及存储介质 | |
| CN113114757A (zh) | 一种文件传输方法、装置和设备 | |
| CN104932982B (zh) | 一种消息访存的编译方法及相关装置 | |
| CN107133040A (zh) | 一种标准产品业务装置及业务模块扩展置换方法 | |
| CN117692524A (zh) | 一种梯控多协议解析方法 | |
| CN115686497A (zh) | 业务开发数据管理方法、开发引擎、电子设备和存储介质 | |
| CN107423038B (zh) | 不依赖文件系统的差分包合并方法与系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |