The embodiment of the invention provides a compatible interface creation method and a compatible interface to create a system, which relates to the technical field of computer according to the interface function and application interface function kernel state of the invention will have the same parameters, create a public interface function, the corresponding interface in the public library when compiling the first object function function pointer variable load corresponding to the global kernel interface; in the state of application examples, the first object function pointer variable load corresponding application interface function for the state of the global; public interface library according to the function pointer variable, as the public interface generation function call interface, the code of the lower part of the supply of public kernel user mode and compatibility, the interface can be used as the system interface compatibility, so as to solve the user mode and kernel interface functions are not compatible with each other The problem of low efficiency of development is that the user can use compatible interface to complete the compiling of user's state and kernel state code, so as to improve the efficiency of development.
【技术实现步骤摘要】
一种兼容的接口创建方法和系统
本专利技术涉及计算机
,特别是涉及一种兼容的接口创建方法和一种兼容的接口创建系统。
技术介绍
内核态与用户态(用户态可以理解为应用态)是操作系统的两种运行级别,Windows的设备驱动程序就是运行在内核态下,而用户应用程序都运行在用户态下。用户态的程序运行在非特权处理机模式上,其他一些被保护的子系统代码也运行在该模式上。用户态的程序不能获得系统数据的存取权,除非调用Win32API(ApplicationProgrammingInterface,应用程序编程接口)或者系统服务。内核态的驱动程序作为操作系统的一个组成部分被执行——支持一个或多个受保护的子系统的操作系统底层组件。Windows平台的内核开发上存在一种开发需求,如对于同一套逻辑,同时需要内核态的代码和用户态的代码。但是实际应用中,对于同一功能,对应该功能的内核态的接口函数和应用态的接口函数不同。因此,开发人员需要分别记录内核态形式的接口函数和应用态形式的接口函数,在编译内核态的代码时不能使用应用态的接口函数,反之在编译应用态的代码时不能使用内核态的接口函数。如此对于开发人员来说,对于相同功能存在不同的形式的接口函数,其开发更复杂,并且要完全分别开发,开发效率低。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的兼容的接口创建方法和相应的兼容的接口创建装置。依据本专利技术的一个方面,提供了一种兼容的接口创建系统,包括:内核态接口创建模块、应用态接口创建模块、公用接口库;内核态接口创建模块,适于在内核态实例中,为全局的函 ...
【技术保护点】
一种兼容的接口创建系统,包括:内核态接口创建模块、应用态接口创建模块、公用接口库;内核态接口创建模块,适于在内核态实例中,为全局的函数指针变量加载对应内核态接口函数的第一对象;所述函数指针变量针对一对内核态接口函数和应用态接口函数;所述一对内核态接口函数和应用态接口函数具有相同的参数;应用态接口创建模块,适于在应用态实例中,为所述全局的函数指针变量加载对应应用态接口函数的第一对象;公用接口库,适于根据所述函数指针变量,为公用接口函数生成调用接口;所述公用接口函数具有所述内核态接口函数和应用态接口函数相同的参数。
【技术特征摘要】
1.一种兼容的接口创建系统,包括:内核态接口创建模块、应用态接口创建模块、公用接口库;内核态接口创建模块,适于在内核态实例中,为全局的函数指针变量加载对应内核态接口函数的第一对象;所述函数指针变量针对一对内核态接口函数和应用态接口函数;所述一对内核态接口函数和应用态接口函数具有相同的参数;应用态接口创建模块,适于在应用态实例中,为所述全局的函数指针变量加载对应应用态接口函数的第一对象;公用接口库,适于根据所述函数指针变量,为公用接口函数生成调用接口;所述公用接口函数具有所述内核态接口函数和应用态接口函数相同的参数。2.根据权利要求1所述的方法,其特征在于,在内核态接口创建模块和应用态接口创建模块之前还包括:全局指针定义模块,适于为每对内核态接口函数和应用态接口函数定义同一个全局的函数指针变量。3.根据权利要求1或2所述的方法,其特征在于,所述内核态接口创建模块包括:内核实例创建模块,适于创建内核态实例;内核态初始化模块,适于在内核态实例中,获取所述函数指针变量,并为函数指针变量加载对应内核态接口函数的符号。4.根据权利要求1或2所述的方法,其特征在于,所述应用态接口创建模块包括:应用实例创建模块,适于创建应用态实例;应用态初始化模块,适于在应用态实例中,获取所述函数指针变量,并为函数指针变量加载对应应用态接口函数的符号。5.根据权利要求1所述的方法,其特征在于,内核态接口创建模块还包括:内核接口函数导出模块,适于获取所述公用接口函数的调用接口,并根据所述公用接口函数的调用接口导出内核接口函数文件;所述应用态接口创建模块还包括:应用接口函数导出模块,适于获取所述公用接口函数的调用接口,并根据所述公用接口函数的调用接口导出应用接口函数文件。6.根据权利要求1所述的方法,其特征在于,还包括:应用态程序除错...
【专利技术属性】
技术研发人员:路尧,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。