一种不同运行平台间的函数调用的方法技术

技术编号:2855753 阅读:269 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种不同运行平台间的函数调用的方法,其中接收平台具有若干用于执行不同任务的任务函数,包括如下步骤:(1)将接收平台上各个任务函数各分配一个消息号,使它们一一对应;(2)在发送平台上将需要在接收平台上执行的任务函数调用封装成至少包括带消息号的接口函数;(3)发送平台发送所述接口函数至接收平台;(4)接收平台执行接收到的接口函数,实现对接收平台上的任务函数调用过程;(5)接收平台在接口函数执行完成后,返回接口函数执行结果至所述发送平台。本发明专利技术相对现有技术,采用统一接口函数实现不同平台间的任务函数调用,可减少系统接口,可实现多功能的任务函数调用,且功能扩展性强。

【技术实现步骤摘要】

本专利技术涉及一种函数调用的通讯方法,特别是。
技术介绍
公知的,一个运行平台上可以处理若干任务,其处理任务的过程是通过执行任务函数来完成的,其任务函数的调用则是通过该运行平台的控制系统来实现。然而,如果想要实现不同的运行平台之间的函数调用,达到多功能通讯的目的,由于各个函数调用的情况不同,如函数名不同、函数调用时是否需要参数、函数调用后是否返回结果等等,因此,发送平台必须将这些信息全部发送到接收平台,才能在接收平台上正确的实现函数调用,这样就造成运行平台之间通讯的数据传输量大。并且,目前不同运行平台之间通讯的方法中,一般都是对于不同的任务或函数,采用不同的通讯接口,因此随着不同任务增多,通讯接口也必将随着增加,增加了系统的负荷。由于上述原因的限制,目前的不同运行平台之间的通讯,一般都仅仅限于几个常用任务函数的调用,跨平台可实现的功能单一,不利于技术的发展。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种采用统一接口函数即可实现一平台对另一平台上多种任务函数调用的不同运行平台间的函数调用的方法。为了解决上述技术问题,本专利技术所采取的技术方案是,其中接收平台具有若干用于执行不同任务的任务函数,包括如下步骤(1)收平台上各个任务函数各分配一个消息号,使它们一一对应;(2)在发送平台上将需要在接收平台上执行的任务函数调用封装成至少包括带消息号的接口函数;(3)发送平台发送所述接口函数至接收平台;(4)接收平台执行接收到的接口函数,实现对接收平台上的任务函数调用过程;(5)接收平台在接口函数执行完成后,返回接口函数执行结果至所述发送平台。所述接口函数仅带消息号,步骤(4)中,所述接收平台执行所述接口函数时,可以根据消息号查找接收平台上对应的任务函数,然后执行该任务函数。函数调用具有相关参数时,步骤(2)中,发送平台可以存储相关参数,并将函数调用的相关参数信息封装到所述接口函数中。所述函数调用的相关参数信息可以包括参数所占存储空间大小值,所述步骤(4)中,接收平台在执行接口函数时,将根据所述参数所占空间大小值开辟一内存空间。所述函数调用的相关参数信息还可以包括发送平台需发送参数的指令,根据此指令,步骤(3)中,发送平台还将所存储的相关参数发送到接收平台;所述步骤(4)中,接收平台接收所述接口函数,并在开辟好内存空间后,再接收来自发送平台的相关参数,并将该参数存储在所述内存空间中,从而根据消息号查找对应的任务函数,并将参数用于任务函数的执行。所述函数调用的相关参数信息还可以包括发送平台需获得任务函数执行结果,并存储结果于指定存储空间的指令,根据此指令,所述步骤(4)中接收平台开辟的内存空间用于存储任务函数执行结果,并且接收平台还将此执行结果返回到发送平台,所述发送平台接收到所述任务函数执行结果后,将它存储到指定的存储空间中。所述发送平台存储的相关参数中可以包括指针参数,所述函数调用的相关参数信息中还包括指针参数的位置信息,以及指针参数所指向的参数实体所占存储空间大小值;所述步骤(4)中,接收平台还根据所述指针参数所指向的参数实体所占存储空间大小值,开辟子内存空间。所述函数调用的相关参数信息还可以包括发送平台需发送指针参数所指向的参数实体的指令,根据此指令,步骤(3)中,发送平台还将所述指针参数所指向的参数实体发送到接收平台;所述步骤(4)中,接收平台接收所述接口函数,并在开辟好内存空间以及子内存空间后,再接收来自发送平台的指针参数所指向的参数实体,并将该参数实体存储在所述子内存空间中,从而根据消息号查找对应的任务函数,并将参数实体用于任务函数的执行。所述步骤(4)中,接收平台还可以根据所述指针参数的位置信息,在所述内存空间中的相应位置,填写新的指针参数,使其指向所述子内存空间。所述函数调用的相关参数信息还可以包括发送平台需获得任务函数执行结果,并将该结果存储到某指针参数所指定的存储空间中的指令,根据该指令,步骤(3)中,发送平台还将所述指针参数发送到接收平台,所述步骤(4)中,接收平台还接收该指针参数,并先存储该指针参数的值;其次根据指针参数的位置信息,在所述内存空间中的相应位置,填写新的指针参数,使其指向所述子内存空间;然后在执行完任务函数后,将任务函数的执行结果以及指针参数的值返回给发送平台,所述发送平台将该执行结果存储到所述指针参数所指向的存储空间中。本专利技术相对现有技术的优点是本专利技术由于将不同运行平台上的函数调用统一封装成一个接口函数,从而减少了通讯接口,尤其是对于发送平台而言接口单一,接口函数封装方式固定。并且,本专利技术还通过使运行平台上的不同任务函数与消息号一一对应,有利于系统扩展,增加应用的灵活性。附图说明附图1为本专利技术不同运行平台间的函数调用的方法的总体流程图;附图2为本专利技术中发送平台的工作流程图;附图3为本专利技术中接收平台的工作流程图;附图4为实例2的内存空间存储示意图。具体实施例方式下面将结合说明书附图及具体实施例对本专利技术作进一步详细说明。参考附图1,本实施例所提供的,具体包括如下步骤(1)将接收平台上的各个任务函数各分配一个消息号,使它们一一对应;(2)在发送平台上将需要在接收平台上执行的任务函数调用封装成至少包括带消息号的接口函数;(3)发送平台发送所述接口函数至接收平台;(4)接收平台执行接收到的接口函数,实现对接收平台上的任务函数调用过程;(5)接收平台在接口函数执行完成后,返回接口函数执行结果至所述发送平台。上述的接收平台内具有若干用于执行不同任务的任务函数,并且,一个任务可以具有多个任务函数。上述的发送平台和接收平台可以为不同系统的不同平台,也可以扩展为同一个系统的不同平台,甚至可以扩展到同一个平台下的不同部分。上述的发送平台和接收平台在实际运行时,可以互相转换功能,即发送平台成为接收平台,接收平台成为发送平台。上述的消息号可以采用数字表示。本实施例中,所述的接口函数可以采用sendcommand(消息号,函数调用的相关参数信息)。其中sendcommand为函数名。为了更清楚的描述本实施例的具体方法,下面将分成发送平台的工作流程和接收平台的工作流程来描述。参考图2,发送平台的工作流程具体为步骤001,发送平台首先根据需调用的任务函数设置消息号。具体实施时,可以采用msg表示消息号。步骤002,判断函数调用是否具有相关参数。所述函数调用所具有的参数包括任务函数执行所需要的参数值;任务函数执行结果的存储位置。判断结果如果是,则执行步骤003;否则跳转至步骤016。步骤003,在发送平台上开辟一内存空间,用于存储函数调用的所有参数。具体实施时,可以采用一指针参数*param来指向该内存空间。对于本领域内的技术人员,很显然的知道具体实施时,也可以不将所有参数存储在一个内存空间内,而只需要发送平台能够获知各个参数的存储地址,并从该地址内顺利读取参数值即可。步骤004,获取参数所占存储空间大小值以及参数性质。获取参数所占存储空间大小值的目的是,通知接收平台开辟相应大小的内存空间,以存储参数实体或任务函数执行结果。具体实施时,可以采用paramsize表示指针参数*param指向的内存空间的大小值。这样,接口函数可表示为sendcommand(msg,*param,paramsize本文档来自技高网...

【技术保护点】
一种不同运行平台间的函数调用的方法,其中接收平台具有若干用于执行不同任务的任务函数,包括如下步骤:(1)接收平台上各个任务函数各分配一个消息号,使它们一一对应;(2)在发送平台上将需要在接收平台上执行的任务函数调用封装成至少 包括带消息号的接口函数;(3)发送平台发送所述接口函数至接收平台;(4)接收平台执行接收到的接口函数,实现对接收平台上的任务函数调用过程;(5)接收平台在接口函数执行完成后,返回接口函数执行结果至所述发送平台。

【技术特征摘要】

【专利技术属性】
技术研发人员:占文静游明琦
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1