CN104516740B - 一种函数调用方法、装置及移动终端 - Google Patents
一种函数调用方法、装置及移动终端 Download PDFInfo
- Publication number
- CN104516740B CN104516740B CN201310445319.0A CN201310445319A CN104516740B CN 104516740 B CN104516740 B CN 104516740B CN 201310445319 A CN201310445319 A CN 201310445319A CN 104516740 B CN104516740 B CN 104516740B
- Authority
- CN
- China
- Prior art keywords
- function
- institute
- request
- information
- class
- 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.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种函数调用方法、装置及移动终端,其中的方法可包括:当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息;将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息。本发明可简化函数调用过程,提升函数调用的效率和便捷性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种函数调用方法、装置及移动终端。
背景技术
进程是一个能够独立运行的函数集合,具备独立的内存空间,内部实现对外封闭的特点。基于进程的上述特点,必须采用一定的函数调用手段,才能实现进程间函数的调用。传统的函数调用方案主要是通过协议方式,调用进程将需要调用的函数信息(包括:函数名称、函数地址和参数信息等)转换为协议规定的格式,然后通过进程间交换技术传输至被调用进程,被调用进程按照协议格式解析出对应的函数信息,然后执行该函数的代码信息完成函数调用过程。上述传统的函数调用方案采用协议方式,进程间不仅需要提前协商协议格式,同时还需要调用进程和被调用进程各自具备协议的转换和解析能力,函数调用过程繁琐、耗时。
发明内容
本发明实施例提供一种函数调用方法、装置及移动终端,可简化函数调用过程,提升函数调用的效率和便捷性。
本发明第一方面提供一种函数调用方法,可包括:
当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;
根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息;
将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息。
本发明第二方面提供一种函数调用装置,可包括:
写模块,用于当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;
读取模块,用于根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息;
调用模块,用于将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息。
本发明第三方面提供一种移动终端,可包括:上述第二方面提供的函数调用装置。
实施本发明实施例,具有如下有益效果:
本发明实施例中,在第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;在第二进程发起函数调用请求时,可从内存中直接读取所请求函数的属性信息和代码信息以完成函数调用过程,整个函数调用过程基于系统内存的反射机制进行,有效地简化了函数调用过程,避免协议方式所带来的繁琐和耗时,提升了函数调用的效率和便捷性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种函数调用方法的流程图;
图2为本发明实施例提供的另一种函数调用方法的流程图;
图3为本发明实施例提供的一种函数调用装置的结构示意图;
图4为本发明实施例提供的另一种函数调用装置的结构示意图;
图5为本发明实施例提供的写模块的结构示意图;
图6为本发明实施例提供的读取模块的结构示意图;
图7为本发明实施例提供的调用模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,移动终端可包括但不限于:PAD(平板电脑)、手机、智能手机、便携式笔记本电脑等设备。移动终端包含操作系统(Operating System,OS),该操作系统可包括但不限于:Android(安卓)系统、IOS(苹果公司推出的移动操作系统)系统,等等。第一进程可以为移动终端的操作系统中的任一进程,第二进程可以为移动终端的操作系统中除第一进程之外的任一进程。
下面将结合附图1-附图2,对本发明实施例提供的函数调用方法进行详细介绍。需要说明的是,附图1-附图2所示的函数调用方法可以由本发明实施例提供的函数调用装置所执行,该函数调用装置可运行于移动终端中。
请参见图1,为本发明实施例提供的一种函数调用方法的流程图;该方法可包括以下步骤S101-步骤S103。
S101,当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中。
其中,函数的代码信息指可执行的程序,该程序运行时可完成函数的相应功能。函数的属性信息可包括但不限于:函数的名称和函数的参数信息;其中,函数的参数信息包括:参数名和参数值。本步骤中,可以在第一进程进行初始化时,将所述第一进程的所有函数的代码信息和属性信息均写至内存中,以利用操作系统的反射机制,完成后续的函数调用过程。其中,操作系统的反射机制提供了一种访问存在于内存中的信息的方式,通过反射方式,可以动态获取内存中的所存在的各种信息。
S102,根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息。
由于第一进程的所有函数的代码信息和属性信息已在初始化时被写至内存中,本步骤中,根据第二进程发起的函数调用请求,利用操作系统的反射机制可以从内存中读取所请求函数的属性信息,即读取所请求函数的名称和参数信息。
S103,将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息。
本步骤中,所请求函数的属性信息可以通过进程间数据交换技术传输至所述第一进程,优选地,该进程间数据交换技术可以为Socket(套接字)技术。需要说明的是,第一进程接收到所请求函数的属性信息之后,可以利用操作系统的反射机制,根据所请求函数的名称从内存中读取所请求函数的代码信息,并执行所请求函数的代码信息从而完成第二进程与第一进程之间的函数调用过程。
请参见图2,为本发明实施例提供的另一种函数调用方法的流程图;该方法可包括以下步骤S201-步骤S208。
S201,当第一进程进行初始化时,获取所述第一进程的至少一个类的信息,所述至少一个类中的每个类均包含至少一个函数。
类指对某种类型的对象定义变量和方法的原型。进程的所有函数信息通常以类的形式存在,一个进程包含至少一个类,一个类包含至少一个函数。其中,所述类的信息包括:类的名称(cname)、类所包含的至少一个函数的代码信息和属性信息。所述函数的属性信息包括:函数的名称(fname)和函数的参数信息。所述函数的参数信息包括:参数名(argname)和参数值。需要说明的是,一个进程中,类的名称(cname)用于唯一标识一个类;一个类中,函数的名称(fname)用于唯一标识一个函数。
S202,将所述第一进程的至少一个类的信息写至内存中。
本步骤中,可以将所述第一进程的至少一个类的信息写至内存中,以利用操作系统的反射机制,完成后续的函数调用过程。其中,操作系统的反射机制提供了一种访问存在于内存中的信息的方式,通过反射方式,可以动态获取内存中的所存在的各种信息。
本实施例的步骤S201-步骤S202可以为图1所示的步骤S101的具体细化步骤。
S203,接收第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,所述调用请求中携带所请求函数的名称以及所请求函数所属类的名称。
S204,根据所请求函数所属类的名称,从内存中读取所请求函数所属类的信息。
由于一个进程中,类的名称(cname)用于唯一标识一个类,本步骤可根据所请求函数所属类的名称,可从内存中读取所请求函数所属类的信息,即读取所请求函数所属类的名称、所请求函数所属类包含的至少一个函数的代码信息和属性信息。
S205,根据所请求函数的名称,从读取的所请求函数所属类的信息中获取所请求函数的属性信息。
由于一个类中,函数的名称(fname)用于唯一标识一个函数;本步骤则可以根据所请求函数的名称,从读取的所请求函数所属类的信息中获取所请求函数的属性信息,即读取所请求函数的名称和参数信息。
本实施例的步骤S203-步骤S205可以为图1所示实施例的步骤S102的具体细化步骤。
S206,将所请求函数所属类的名称和所请求函数的属性信息存储至字典数据库中。
本步骤中,可以以名称作为索引Key(关键字),具体地,可以将所请求函数所属类的名称(cname)作为一级索引Key,将所请求函数的名称(fname)作为二级索引Key,将所请求函数的参数名(argname)作为三级索引Key,按照索引Key的层级将所请求函数所属类的名称和所请求函数的属性信息存储至字典数据库中。
S207,对所述字典数据库进行二进制序列化处理,获得二进制数据串。
本步骤对所述字典数据库进行二进制序列化处理的过程,可以为将所述字典数据库转换为二进制形式的数据串的过程,采用二进制数据串可以更便捷、更迅速地实现对字典数据库的传输,同时可有效节省传输所占用的系统资源。需要说明的是,为了方便传输,本步骤也可以对字典数据库进行其他方式的处理,例如:对所述字典数据库进行八进制序列化处理,等等,此情况下可类似分析。
S208,将所述二进制数据串传输至所述第一进程,使所述第一进程解析所述二进制数据串获得所请求函数所属类的名称和所请求函数的属性信息,并根据所请求函数所属类的名称和所请求函数的名称从所述内存中读取所请求函数的代码信息,根据所请求函数的参数信息执行所请求函数的代码信息。
需要说明的是,二进制数据串传输至所述第一进程之后,第一进程可解析所述二进制数据串,获得字典数据库;第一进程可基于字典数据库的一级索引Key(即所请求函数所属类的名称(cname)),从所述字典数据库中查找到所请求函数的类;基于字典数据库的二级索引Key(即所请求函数的名称(fname)),从所述字典数据库中查找到所请求函数的属性信息;基于字典数据库的三级索引Key(即所请求函数的参数名(argname)),从所述字典数据库中获得所请求函数的参数值和代码信息;第一进程将获取的所请求函数的参数值代入所请求函数的代码信息并执行该代码信息,即可完成第二进程与第一进程之间的函数调用过程。
本实施例的步骤S207-步骤S208可以为图1所示实施例的步骤S103的具体细化步骤。
下面将以一个具体实例来说明本发明实施例提供的函数调用方法的流程。
本实例中,第一进程可表示为进程A,第二进程可表示为进程B,进程A包含a和b两个类,a类包含a1、a2和a3共三个函数,b类包含函数b1和b2。本实施例以进程B调用进程A的函数a1为例进行说明,则函数调用方法的流程如下:
当进程A进行初始化时,获取进程A的a和b两个类的信息,即获取a类的名称“a”、函数a1、a2和a3的代码信息和属性信息、b类的名称“b”以及函数b1和b2的代码信息和属性信息。假设函数a1的名称为“a1”、参数名为“arg1”。将上述获取进程A的所有信息写至内存中。
接收进程B发起针对进程A的调用请求,所述调用请求中携带类a的名称“a”以及函数a1的名称“a1”。根据“a”可从内存中读取类a的信息,即可读取类a的名称“a”、函数a1、a2和a3的代码信息和属性信息。根据“a1”可获取函数a1的属性信息。
将类a的名称“a”和函数a1的属性信息存储至字典数据库中;对所述字典数据库进行二进制序列化处理,获得二进制数据串;将所述二进制数据串传输至进程A,进程A可解析所述二进制数据串获得类a的名称“a”和函数a1的属性信息,并根据类a的名称“a”和函数a的名称“a1”从所述内存中读取函数a1的代码信息,进程A将函数a1的参数信息代入函数a1的代码信息中并执行该代码信息,从而完成进程A与进程B之间的函数调用过程。
通过上述各实施例的描述,本发明实施例中,在第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;在第二进程发起函数调用请求时,可从内存中直接读取所请求函数的属性信息和代码信息以完成函数调用过程,整个函数调用过程基于系统内存的反射机制进行,有效地简化了函数调用过程,避免协议方式所带来的繁琐和耗时,提升了函数调用的效率和便捷性。
下面将结合附图3-附图7,对本发明实施例提供的函数调用装置进行详细介绍。需要说明的是,附图3-附图7所示的函数调用装置可运行于移动终端中,用于执行附图1-附图2所示的函数调用方法。
请参见图3,为本发明实施例提供的一种函数调用装置的结构示意图;该装置可包括:写模块101、读取模块102和调用模块103。
写模块101,用于当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中。
其中,函数的代码信息指可执行的程序,该程序运行时可完成函数的相应功能。函数的属性信息可包括但不限于:函数的名称和函数的参数信息;其中,函数的参数信息包括:参数名和参数值。所述写模块101可以在第一进程进行初始化时,将所述第一进程的所有函数的代码信息和属性信息均写至内存中,以利用操作系统的反射机制,完成后续的函数调用过程。其中,操作系统的反射机制提供了一种访问存在于内存中的信息的方式,通过反射方式,可以动态获取内存中的所存在的各种信息。
读取模块102,用于根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息。
由于第一进程的所有函数的代码信息和属性信息已在初始化时被写至内存中,所述读取模块102根据第二进程发起的函数调用请求,利用操作系统的反射机制可以从内存中读取所请求函数的属性信息,即读取所请求函数的名称和参数信息。
调用模块103,用于将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息。
所述调用模块103可以通过进程间数据交换技术将所请求函数的属性信息传输至所述第一进程,优选地,该进程间数据交换技术可以为Socket技术。需要说明的是,第一进程接收到所请求函数的属性信息之后,可以利用操作系统的反射机制,根据所请求函数的名称从内存中读取所请求函数的代码信息,并执行所请求函数的代码信息从而完成第二进程与第一进程之间的函数调用过程。
请参见图4,为本发明实施例提供的另一种函数调用装置的结构示意图;该装置可包括:写模块101、读取模块102、调用模块103和存储模块104。其中,写模块101、读取模块102和调用模块103的结构和功能可参见图3所示实施例的相关描述,在此不赘述。
存储模块104,用于将所请求函数所属类的名称和所请求函数的属性信息存储至字典数据库中。
所述存储模块104可以以名称作为索引Key(关键字),具体地,可以将所请求函数所属类的名称(cname)作为一级索引Key,将所请求函数的名称(fname)作为二级索引Key,将所请求函数的参数名(argname)作为三级索引Key,按照索引Key的层级将所请求函数所属类的名称和所请求函数的属性信息存储至字典数据库中。
下面将结合附图5-附图7,对上述函数调用装置的各模块进行详细介绍。
请参见图5,为本发明实施例提供的写模块的结构示意图;该写模块101可包括:获取单元1101和写单元1102。
获取单元1101,用于当第一进程进行初始化时,获取所述第一进程的至少一个类的信息,所述至少一个类中的每个类均包含至少一个函数。
类指对某种类型的对象定义变量和方法的原型。进程的所有函数信息通常以类的形式存在,一个进程包含至少一个类,一个类包含至少一个函数。其中,所述类的信息包括:类的名称(cname)、类所包含的至少一个函数的代码信息和属性信息。所述函数的属性信息包括:函数的名称(fname)和函数的参数信息。所述函数的参数信息包括:参数名(argname)和参数值。需要说明的是,一个进程中,类的名称(cname)用于唯一标识一个类;一个类中,函数的名称(fname)用于唯一标识一个函数。
写单元1102,用于将所述第一进程的至少一个类的信息写至内存中。
所述写单元1102可以将所述第一进程的至少一个类的信息写至内存中,以利用操作系统的反射机制,完成后续的函数调用过程。其中,操作系统的反射机制提供了一种访问存在于内存中的信息的方式,通过反射方式,可以动态获取内存中的所存在的各种信息。
请参见图6,为本发明实施例提供的读取模块的结构示意图;该读取模块102可包括:请求接收单元1201、类读取单元1202和函数读取单元1203。
请求接收单元1201,用于接收第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,所述调用请求中携带所请求函数的名称以及所请求函数所属类的名称。
类读取单元1202,用于根据所请求函数所属类的名称,从内存中读取所请求函数所属类的信息。
由于一个进程中,类的名称(cname)用于唯一标识一个类,所述类读取单元1202可根据所请求函数所属类的名称,可从内存中读取所请求函数所属类的信息,即读取所请求函数所属类的名称、所请求函数所属类包含的至少一个函数的代码信息和属性信息。
函数读取单元1203,根据所请求函数的名称,从读取的所请求函数所属类的信息中获取所请求函数的属性信息。
由于一个类中,函数的名称(fname)用于唯一标识一个函数;所述函数读取单元1203可以根据所请求函数的名称,从读取的所请求函数所属类的信息中获取所请求函数的属性信息,即读取所请求函数的名称和参数信息。
请参见图7,为本发明实施例提供的调用模块的结构示意图;该调用模块103可包括:处理单元1301和传输单元1302。
处理单元1301,用于对所述字典数据库进行二进制序列化处理,获得二进制数据串。
所述处理单元1301对所述字典数据库进行二进制序列化处理的过程,可以为将所述字典数据库转换为二进制形式的数据串的过程,采用二进制数据串可以更便捷、更迅速地实现对字典数据库的传输,同时可有效节省传输所占用的系统资源。需要说明的是,为了方便传输,本步骤也可以对字典数据库进行其他方式的处理,例如:对所述字典数据库进行八进制序列化处理,等等,此情况下可类似分析。
传输单元1302,用于将所述二进制数据串传输至所述第一进程,使所述第一进程解析所述二进制数据串获得所请求函数所属类的名称和所请求函数的属性信息,并根据所请求函数所属类的名称和所请求函数的名称从所述内存中读取所请求函数的代码信息,根据所请求函数的参数信息执行所请求函数的代码信息。
需要说明的是,二进制数据串传输至所述第一进程之后,第一进程可解析所述二进制数据串,获得字典数据库;第一进程可基于字典数据库的一级索引Key(即所请求函数所属类的名称(cname)),从所述字典数据库中查找到所请求函数的类;基于字典数据库的二级索引Key(即所请求函数的名称(fname)),从所述字典数据库中查找到所请求函数的属性信息;基于字典数据库的三级索引Key(即所请求函数的参数名(argname)),从所述字典数据库中获得所请求函数的参数值和代码信息;第一进程将获取的所请求函数的参数值代入所请求函数的代码信息并执行该代码信息,即可完成第二进程与第一进程之间的函数调用过程。
通过上述附图3-附图7所示实施例的描述,本发明实施例中,在第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;在第二进程发起函数调用请求时,可从内存中直接读取所请求函数的属性信息和代码信息以完成函数调用过程,整个函数调用过程基于系统内存的反射机制进行,有效地简化了函数调用过程,避免协议方式所带来的繁琐和耗时,提升了函数调用的效率和便捷性。
本发明实施例还公开了一种移动终端,该移动终端可包含函数调用装置,该函数调用装置的结构和功能可参见图3-图7所示实施例的相关描述,在此不赘述。
本发明实施例中,在第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;在第二进程发起函数调用请求时,可从内存中直接读取所请求函数的属性信息和代码信息以完成函数调用过程,整个函数调用过程基于系统内存的反射机制进行,有效地简化了函数调用过程,避免协议方式所带来的繁琐和耗时,提升了函数调用的效率和便捷性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (11)
1.一种函数调用方法,其特征在于,包括:
当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;
根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息;
将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息;
所述当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中,包括:
当第一进程进行初始化时,获取所述第一进程的至少一个类的信息,所述至少一个类中的每个类均包含至少一个函数;
将所述第一进程的至少一个类的信息写至内存中,以利用操作系统的反射机制,完成函数的调用;其中,所述操作系统的反射机制为对存在于内存中的信息的访问方式,以动态获取内存中的所存在的信息。
2.如权利要求1所述的方法,其特征在于,所述类的信息包括:类的名称、类所包含的至少一个函数的代码信息和属性信息;
所述函数的属性信息包括:函数的名称和函数的参数信息。
3.如权利要求2所述的方法,其特征在于,所述根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息,包括:
接收第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,所述调用请求中携带所请求函数的名称以及所请求函数所属类的名称;
根据所请求函数所属类的名称,从内存中读取所请求函数所属类的信息;
根据所请求函数的名称,从读取的所请求函数所属类的信息中获取所请求函数的属性信息。
4.如权利要求3所述的方法,其特征在于,所述从所述内存中读取所请求函数的属性信息之后,所述将所请求函数的属性信息传输至所述第一进程之前,还包括:
将所请求函数所属类的名称和所请求函数的属性信息存储至字典数据库中。
5.如权利要求4所述的方法,其特征在于,所述将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息,包括:
对所述字典数据库进行二进制序列化处理,获得二进制数据串;
将所述二进制数据串传输至所述第一进程,使所述第一进程解析所述二进制数据串获得所请求函数所属类的名称和所请求函数的属性信息,并根据所请求函数所属类的名称和所请求函数的名称从所述内存中读取所请求函数的代码信息,根据所请求函数的参数信息执行所请求函数的代码信息。
6.一种函数调用装置,其特征在于,包括:
写模块,用于当第一进程进行初始化时,将所述第一进程的至少一个函数的代码信息和属性信息写至内存中;
读取模块,用于根据第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,从所述内存中读取所请求函数的属性信息;
调用模块,用于将所请求函数的属性信息传输至所述第一进程,以使所述第一进程根据所请求函数的属性信息从所述内存中读取并执行所请求函数的代码信息;
所述写模块包括:
获取单元,用于当第一进程进行初始化时,获取所述第一进程的至少一个类的信息,所述至少一个类中的每个类均包含至少一个函数;
写单元,用于将所述第一进程的至少一个类的信息写至内存中,以利用操作系统的反射机制,完成函数的调用;其中,所述操作系统的反射机制为对存在于内存中的信息的访问方式,以动态获取内存中的所存在的信息。
7.如权利要求6所述的装置,其特征在于,所述类的信息包括:类的名称、类所包含的至少一个函数的代码信息和属性信息;
所述函数的属性信息包括:函数的名称和函数的参数信息。
8.如权利要求7所述的装置,其特征在于,所述读取模块包括:
请求接收单元,用于接收第二进程发起的对所述第一进程的所述至少一个函数中的任一个函数的调用请求,所述调用请求中携带所请求函数的名称以及所请求函数所属类的名称;
类读取单元,用于根据所请求函数所属类的名称,从内存中读取所请求函数所属类的信息;
函数读取单元,根据所请求函数的名称,从读取的所请求函数所属类的信息中获取所请求函数的属性信息。
9.如权利要求8所述的装置,其特征在于,还包括:
存储模块,用于将所请求函数所属类的名称和所请求函数的属性信息存储至字典数据库中。
10.如权利要求9所述的装置,其特征在于,所述调用模块包括:
处理单元,用于对所述字典数据库进行二进制序列化处理,获得二进制数据串;
传输单元,用于将所述二进制数据串传输至所述第一进程,使所述第一进程解析所述二进制数据串获得所请求函数所属类的名称和所请求函数的属性信息,并根据所请求函数所属类的名称和所请求函数的名称从所述内存中读取所请求函数的代码信息,根据所请求函数的参数信息执行所请求函数的代码信息。
11.一种移动终端,其特征在于,包括:如权利要求6-10任一项所述的函数调用装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310445319.0A CN104516740B (zh) | 2013-09-26 | 2013-09-26 | 一种函数调用方法、装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310445319.0A CN104516740B (zh) | 2013-09-26 | 2013-09-26 | 一种函数调用方法、装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104516740A CN104516740A (zh) | 2015-04-15 |
CN104516740B true CN104516740B (zh) | 2019-07-16 |
Family
ID=52792105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310445319.0A Active CN104516740B (zh) | 2013-09-26 | 2013-09-26 | 一种函数调用方法、装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104516740B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291480B (zh) * | 2017-08-15 | 2020-12-15 | 中国农业银行股份有限公司 | 一种函数调用方法及装置 |
CN110399289B (zh) * | 2019-06-14 | 2023-10-20 | 平安科技(深圳)有限公司 | 应用程序测试的评价方法、装置、服务器及存储介质 |
CN113076151B (zh) * | 2021-04-21 | 2023-10-10 | 光禹莱特数字科技(上海)有限公司 | 应用程序交互方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1470988A (zh) * | 2002-07-25 | 2004-01-28 | 梁肇新 | 进程间调用门技术 |
CN102253855A (zh) * | 2011-06-17 | 2011-11-23 | 北京书生国际信息技术有限公司 | 一种传递共享内存的方法和装置 |
CN102591726A (zh) * | 2011-12-31 | 2012-07-18 | 青岛海信宽带多媒体技术有限公司 | 一种多进程通信方法 |
CN102654840A (zh) * | 2011-11-30 | 2012-09-05 | 天津书生投资有限公司 | 一种函数回调的方法和系统 |
CN103064749A (zh) * | 2013-01-09 | 2013-04-24 | 上海斐讯数据通信技术有限公司 | 一种进程间通信方法 |
-
2013
- 2013-09-26 CN CN201310445319.0A patent/CN104516740B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1470988A (zh) * | 2002-07-25 | 2004-01-28 | 梁肇新 | 进程间调用门技术 |
CN102253855A (zh) * | 2011-06-17 | 2011-11-23 | 北京书生国际信息技术有限公司 | 一种传递共享内存的方法和装置 |
CN102654840A (zh) * | 2011-11-30 | 2012-09-05 | 天津书生投资有限公司 | 一种函数回调的方法和系统 |
CN102591726A (zh) * | 2011-12-31 | 2012-07-18 | 青岛海信宽带多媒体技术有限公司 | 一种多进程通信方法 |
CN103064749A (zh) * | 2013-01-09 | 2013-04-24 | 上海斐讯数据通信技术有限公司 | 一种进程间通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104516740A (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103428069B (zh) | 社交网络中加好友的方法和装置 | |
CN106022483B (zh) | 机器学习模型之间进行转换的方法与设备 | |
US11934394B2 (en) | Data query method supporting natural language, open platform, and user terminal | |
CN108205577A (zh) | 一种数组构建、数组查询的方法、装置及电子设备 | |
CN105138649B (zh) | 数据的搜索方法、装置及终端 | |
CN112650529B (zh) | 可配置生成移动端app代码的系统及方法 | |
CN103312751A (zh) | 一种基于浏览器的即时通信方法 | |
CN103400579A (zh) | 一种语音识别系统和构建方法 | |
CN112925954B (zh) | 用于在图数据库中查询数据的方法和装置 | |
CN104516740B (zh) | 一种函数调用方法、装置及移动终端 | |
CN103377053A (zh) | 一种控制应用的方法、装置及系统 | |
CN108664665A (zh) | 数据格式转化方法、装置、设备及可读存储介质 | |
CN106446038A (zh) | 基于混合数据库的数据访问控制系统及方法 | |
CN108282509A (zh) | 页面分享方法、装置及服务器 | |
CN113094355A (zh) | 基于国产化通信协议的模型实例化方法、装置、设备及介质 | |
CN108874985B (zh) | 智能变电站scd文件的分布式解析配置方法 | |
CN107330014A (zh) | 一种数据表的创建方法与设备 | |
CN106126299B (zh) | 业务插件的处理方法及装置 | |
CN106570153A (zh) | 一种海量url的数据提取方法及系统 | |
CN109446496A (zh) | 一种测试语言文件的转换方法、装置、设备及存储介质 | |
CN117171108B (zh) | 一种虚拟模型映射方法和系统 | |
KR101743731B1 (ko) | 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법 및 장치 | |
CN106557974B (zh) | 一种imix协议数据的处理方法及系统 | |
KR101091592B1 (ko) | 모바일 기반의 온톨로지 추론 시스템 및 그 방법 | |
CN104360850B (zh) | 一种业务代码处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |