应用程序的服务接口调用方法、装置及存储介质与流程

文档序号:16401089发布日期:2018-12-25 20:07阅读:217来源:国知局
应用程序的服务接口调用方法、装置及存储介质与流程

本申请涉及软件开发领域,特别涉及一种应用程序的服务接口调用方法、装置及存储介质。

背景技术

在现有的软件开发中,单一的应用程序难以完成全部的工作,因此需要调用其他的应用程序来调用所需要的数据信息,为了满足应用程序的调用,现有的应用程序提供了免费的服务接口供用户调用,例如快递查询、天气预报、火车时刻表等应用程序。

为了在应用程序中实现应用程序中的服务接口的调用,一般是通过编译工具将应用程序所提供的服务接口编译生成源码文件,该源码文件中包括应用程序中各个服务接口的源码信息,从而开发者在应用程序开发过程中可以通过调用所编译所得的服务接口对应的源码信息实现应用程序中服务接口的调用。在编译所得到的文件中,多个应用程序中的各个服务接口所对应的源码信息保存在一个文件夹中,如图11所示,虽然显示了服务接口对应的源码信息,即接口函数,但是若一个应用程序中的某个源码信息与另一个应用程序中的源码信息名称近似,即两个服务接口的接口函数名近似,很容易导致编程人员在软件开发中错误输入该源码信息,从而造成服务接口的错误调用,所以编译生成的源码信息的可读性还有待提高。

由上可知,现有技术存在根据应用程序编译得到的源码信息可读性不高的问题。



技术实现要素:

为了解决相关技术中存在的问题,本申请提供了一种应用程序的服务接口调用方法、装置及存储介质。

一种应用程序的服务接口调用方法,包括:

获取分别为已有应用程序配置的应用程序自定义标识和分别为所述已有应用程序所相应生成头文件配置的头文件自定义标识;

根据所述应用程序自定义标识以及所述头文件自定义标识编译生成每一已有应用程序对应的头文件;

通过所述头文件自定义标识进行所有头文件的汇总得到目标头文件,所述目标头文件按照所述应用程序自定义标识声明所述已有应用程序所包含的服务接口;

根据所述目标头文件编译生成源码文件,所述源码文件包括分别按照所述应用程序自定义标识为所述已有应用程序中服务接口配置的源码信息;

通过所述已有应用程序中服务接口所对应的源码信息进行所述已有应用程序中服务接口的调用,所述已有应用程序中服务接口所对应的源码信息携带所述已有应用程序所对应的应用程序自定义标识。

一种应用程序的服务接口调用装置,包括:

获取模块,被配置为执行:获取分别为已有应用程序配置的应用程序自定义标识和分别为所述已有应用程序所相应生成头文件配置的头文件自定义标识;

头文件生成模块,被配置为执行:根据所述应用程序自定义标识以及所述头文件自定义标识编译生成每一已有应用程序对应的头文件;

目标头文件生成模块,被配置为执行:通过所述头文件自定义标识进行所有头文件的汇总得到目标头文件,所述目标头文件按照所述应用程序自定义标识声明所述已有应用程序所包含的服务接口;

源码文件生成模块,被配置为执行:根据所述目标头文件编译生成源码文件,所述源码文件包括分别按照所述应用程序自定义标识为所述已有应用程序中服务接口配置的源码信息;

调用模块,被配置为执行:通过所述已有应用程序中服务接口所对应的源码信息进行所述已有应用程序中服务接口的调用,所述已有应用程序中服务接口所对应的源码信息携带所述已有应用程序所对应的应用程序自定义标识。

在一实施例中,所述装置还包括:

变量配置模块,被配置为执行:为所述每一已有应用程序配置应用程序变量和所相应生成头文件配置头文件变量;

赋值模块,被配置为执行:将所述应用程序变量赋值为所述应用程序自定义标识,以及将所述头文件变量赋值为所述头文件自定义标识。

在一实施例中,所述头文件生成模块包括:

头文件生成单元,被配置为执行:以所述应用程序变量、所述头文件变量和所述每一已有应用程序所对应应用程序描述文件的统一资源定位符为参数,利用头文件生成命令编译生成所述每一已有应用程序对应的头文件,所述头文件的文件名为所述头文件自定义标识。

在一实施例中,所述装置还包括:

读取模块,被配置为执行:从指定配置文件中读取所述每一已有应用程序对应的所述应用程序自定义标识、所述头文件自定义标识;

统一资源定位符读取模块,被配置为执行:从所述指定配置文件中读取所述每一已有应用程序所对应应用程序描述文件的统一资源定位符,所述指定配置文件用于提供所述已有应用程序所对应应用程序自定义标识的集合、头文件自定义标识的集合和所述统一资源定位符的集合。

在一实施例中,目标头文件生成模块包括:

目标头文件生成单元,被配置为执行:以所有头文件所对应的所述头文件自定义标识和所述目标头文件的文件名为参数,通过复制命令将所述所有头文件复制到所述目标头文件中,得到所述目标头文件。

在一实施例中,源码文件生成模块包括:

指定单元,被配置为执行:为所述源码文件指定输出文件夹;

源码文件生成单元,被配置为执行:以所述目标头文件的文件名、所述输出文件夹的文件名和所述输出文件夹的路径为参数,利用源码文件生成命令编译生成所述源码文件,所述源码文件位于所述路径下的所述输出文件夹中。

在一实施例中,调用模块包括:

封装单元,被配置为执行:将所述源码文件以及标准函数库文件封装至应用程序;

调用单元,被配置为执行:根据在封装后的所述应用程序中所输入的所述已有应用程序中服务接口所对应的源码信息,进行所述已有应用应用程序中服务接口的调用。

一种应用程序的服务接口调用装置,所述装置包括:

处理器;及

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现以上所述的方法

一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上所述的方法。

本申请的实施例所提供的技术方案可以包括以下有益效果:通过为已有应用程序配置应用程序自定义标识和所相应生成的头文件配置头文件自定义标识,从而在编译生成源码文件中,各个服务接口所对应源码信息按照应用程序自定义标识进行配置,进而可以很直观的看出各个应用程序中有哪些源码信息、以及对于其中某个源码信息可以直观看出属于哪个应用程序,提高了源码信息的可读性,而且便于编程人员通过该源码信息调用服务接口。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种装置的框图;

图2是根据一示例性实施例示出的一种应用程序的服务接口调用方法的流程图;

图3是图2所示实施例中步骤s110之前的一种具体实施细节;

图4是根据另一示例性实施例示出的一种应用程序的服务接口调用方法的流程图;

图5是根据另一实施例性实施例示出的一种应用程序的服务接口调用方法的流程图;

图6是根据另一实施例性实施例示出的一种应用程序的服务接口调用方法的流程图;

图7是图2所示实施例中步骤s170的一示例性实施例;

图8是图2所示实施例中步骤s190的流程图;

图9是根据一示例性实施例示出的一种应用程序的服务接口调用装置的框图;

图10是根据一示例性实施例示出的一种应用程序的服务接口调用装置的框图;

图11是现有技术所编译生成的应用程序中调用函数接口的显示示意图;

图12是根据本申请的方法编译生成的应用程序中调用函数接口的显示示意图;

图13是指定配置文件的示意图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

请参阅图1,图1是根据一示例性实施例示出的一种装置的框图。其中装置100可用于执行本申请的应用程序的服务接口调用方法,装置100可以是台式电脑、笔记本电脑,在此不进行进一步限定。值得说明的是,该装置仅仅是一个适配于本申请的示例,不能认为是提供了对本发明使用范围的任何限制。该装置100也不能解释为需要依赖于或者必须具有图1中示出的示例性装置100中的一个或者多个组件。

如图1所示,装置100包括存储器101、存储控制器103、一个或多个(图1中仅示出一个)处理器105、外设接口107、射频模块109、定位模块111、摄像模块113、音频模块115、触控屏幕117以及按键模块119。这些组件通过一条或多条通讯总线/信号线121相互通讯。

其中,存储器101可用于存储计算机程序以及模块,如本发明示例性实施例中应用程序的服务接口调用方法及装置所对应的计算机可读指令及模块,处理器105通过执行存储在存储器101内的计算机可读指令,从而执行各种功能以及数据处理,即应用程序的服务接口调用方法。

存储器101作为资源存储的载体,可以是随机存储器、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。

外设接口107可以包括至少一有线或无线网络接口、至少一串并联转换接口、至少一输入输出接口以及至少一usb接口等,用于将外部各种输入/输出装置耦合至存储器101以及处理器105,以实现与外部各种输入/输出装置的通信。

射频模块109用于收发电磁波,实现电磁波与电信号的相互转换,从而通过通讯网络与其他设备进行通讯。通信网络包括蜂窝式电话网、无线局域网或者城域网,上述通信网络可以使用各种通信标准、协议及技术。

定位模块111用于获取装置100的当前所在的地理位置。定位模块111的实例包括但不限于全球卫星定位系统(gps)、基于无线局域网或者移动通信网的定位技术。

摄像模块113隶属于摄像头,用于拍摄图片或者视频。拍摄的图片或者视频可以存储至存储器101内,还可以通过射频模块109发送至上位机。

音频模块115向用户提供音频接口,其可包括一个或多个麦克风接口、一个或多个扬声器接口以及一个或多个耳机接口。通过音频接口与其它设备进行音频数据的交互。音频数据可以存储至存储器101内,还可以通过射频模块109发送。

触控屏幕117在装置100与用户之间提供一个显示界面,用于显示用户的输入操作以及装置的输出内容。具体地,用户可通过触控屏幕117进行输入操作,例如点击、触摸、滑动等手势操作,以使装置100对该输入操作进行响应。用户也可以通过与外设接口107连接的键盘、鼠标等来进行输入操作,以使装置100对该输入或者点击操作进行响应。装置100则将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过触控屏幕117向用户显示输出。

按键模块119包括至少一个按键,用以提供用户向装置100进行输入的接口,用户可以通过按下不同的按键使装置100执行不同的功能。例如,开关机按键可以供用户开启或者关闭装置100。

可以理解,图1所示的结构仅为示意,装置100还可包括比图1中所示更多或更少的组件,或者具有与图1所示不同的组件。图1中所示的各组件可以采用硬件、软件或者其组合来实现。

图2是根据一示例性实施例示出的一种应用程序的服务接口调用方法的流程图。如图2所示,该应用程序的服务接口调用方法,可以由装置100执行,可以包括以下步骤:

步骤s110,获取分别为已有应用程序配置的应用程序自定义标识和分别为已有应用程序所相应生成头文件配置的头文件自定义标识。

已有应用程序,是平台独立的、低耦合、自包含、基于可编程的web应用程序,例如快递查询、天气预报、火车时刻表、即时外汇汇率数据、股票行情数据等应用程序。

应用程序自定义标识是为各个已有应用程序自定义配置的易于辨认、记忆、区分的名称,例如,如果需要将天气预报这一应用程序所提供的服务接口编译生成可调用的源码信息,那么可以为该应用程序配置应用程序自定义标识“天气预报”,当然还可以是其他便于辨认、区分、记忆的标识。

头文件自定义标识是为各个已有应用程序所相应生成的头文件自定义配置头文件名称。由下文可知,针对每一个已有应用程序,编译生成一个头文件。通过头文件自定义标识来进行区分各个已有应用程序所相应生成的头文件。

在一示例性实施例中,如图3所示,步骤s110之前,还包括:

步骤s010,为每一已有应用程序配置应用程序变量和所相应生成头文件配置头文件变量。

步骤s030,将应用程序变量赋值为应用程序自定义标识,以及将头文件变量赋值为头文件自定义标识。

其中根据需要调用的已有应用程序的数量来配置应用程序变量的数量和头文件变量的数量,例如如果需要调用天气预报和快递查询这两个应用程序,那么相应配置两个应用程序变量和两个头文件变量。根据为每个已有应用程序所配置的应用程序自定义标识,将该应用程序变量赋值为所配置的应用程序自定义标识。

其中配置应用程序变量和头文件变量是为了便于在后续的程序中通过应用程序变量来访问应用程序自定义标识,通过头文件变量来访问头文件自定义标识。所以应用程序变量和头文件变量可以根据需要配置成简短、易于区分的名称。

在一具体实施方式中,若已有应用程序为3个,所分别配置的应用程序自定义标识分别为:service1、service2、service3,所对应分别配置的头文件自定义标识为:generateheader1.h、generateheader2.h、generateheader3.h。相应的,为应用程序所配置的应用程序变量为:name1、name2、name3,配置的头文件变量为header1、header2、header3。可以通过以下程序来实现步骤s010和s030,

setname1=service1

setname2=service2

setname3=service3

setheader1=generateheader1.h

setheader2=generateheader2.h

setheader3=generateheader3.h

其中setname1=service1,表示给变量name1赋值,该变量可以用来表示为已有应用程序i所配置的应用程序自定义标识service1。其他的name2、name3与name1类似。

其中setheader1=generateheader1,表示给变量header1赋值,该变量为已有应用程序i所相应生成头文件配置的头文件自定义标识,即头文件的文件名。其他的header2、header3与header1类似。

步骤s130,根据应用程序自定义标识以及头文件自定义标识编译生成每一已有应用程序对应的头文件。

其中头文件是一种包含功能函数、数据接口声明的载体文件。每一已有应用程序对应的头文件,包含了该已有应用程序的属性和可供调用的服务接口。

为了编译生成已有应用程序的源码文件,需要利用编译工具来生成目标数据类型的源码文件。编译工具包括gsoap工具、soapsdk工具或winmport工具等,其中,gsoap工具和soapsdk工具根据wsdl文件自动生成c/c++数据类型的源码文件,winmport工具根据wsdl文件自动生成java数据类型的源码文件。

具体的,使用编译工具来编译生成每一已有应用程序对应的头文件,在编译生成头文件的过程中需要使用到该已有应用程序的应用程序描述文件。应用程序描述文件是基于网络服务的描述语言,用于描述网络服务及其函数、参数、返回值及如何对其进行访问。生成头文件的过程即将已有应用程序的应用程序描述文件编译生成目标数据类型的头文件。

应用程序描述文件可以是wsdl文件,wsdl文件是一种基于xml格式进行应用程序描述以及如何对该应用程序进行访问,其中对于应用程序的描述包括该应用程序中可供调用的服务接口。wsdl文件为开源文件,可根据对应的应用程序获取到,很多常用的应用程序都有公开的wsdl文件,例如天气预报应用程序的wsdl文件可从中国气象局网站获取,快递查询、火车时刻表、即时外汇汇率数据等应用程序对应的wsdl文件可以从相应的渠道获取。当然还可以通过应用程序描述文件的统一资源定位符来进行访问应用程序描述文件,例如,针对一已有应用程序的wsdl文件,可以通过该wsdl文件的统一资源定位符来访问该wsdl文件。

所以针对所需要源码文件的数据类型的不同,以及应用程序描述文件的类型不同,所使用的编译工具也不相同。

在一示例性实施例中,可以使用gsoap编译工具来生成已有应用程序的头文件,如图4所示,步骤s130包括:

步骤s131,以应用程序变量、头文件变量和每一已有应用程序所对应应用程序描述文件的统一资源定位符(url)为参数,利用头文件生成命令编译生成每一已有应用程序对应的头文件,头文件的文件名为头文件自定义标识。

其中头文件生成命令即为gsoap的头文件生成命令:wsdl2h.exe,wsdl2h.exe是gsoap工具自带的可执行程序,作用是使用wsdl文件生成包含已有应用程序属性和操作的c/c++数据类型的头文件。其中头文件生成命令的使用规则如下:

“wsdl2h.exe-n-owsdl文件名或url”

其中,参数“-n”,表示使用命名空间前缀代替默认的“ns”;

参数“-o”,表示输出到文件,即指定输出的头文件的文件名。

针对上文提到的三个已有应用程序,可以通过以下程序来分别生成该三个已有应用程序对应的头文件:

其中wsdl2h.exe-n%name1%-o%header1%https://xxx.com/xx?wsdl,执行该段程序后,该已有应用程序的头文件文件名为header1变量所表示的generateheader1.h,其中generateheader1.h中针对该已有应用程序所默认的“ns”被应用程序自定义标识service1替换,相应的,其他两个已有应用程序所默认的“ns”也对应的被应用程序自定义标识service2、service3替换。

步骤s150,通过头文件自定义标识进行所有头文件的汇总得到目标头文件,目标头文件按照应用程序自定义标识声明已有应用程序所包含的服务接口。

由上文可知,每一已有应用程序所相应生成的头文件中,针对该应用程序的默认“ns”标识被对应的应用程序自定义标识替换,所以,将各个头文件汇总到目标头文件后,应用程序中的各个服务接口中包括该应用程序自定义标识,即目标头文件按照应用程序自定义标识声明已有应用程序所包含的服务接口。

在一具体实施例中,如图6所示,步骤s150包括:

步骤s151,以所有头文件所对应的头文件自定义标识和目标头文件的文件名为参数,通过复制命令将所有头文件复制到目标头文件中,得到目标头文件。

其中可以通过以下程序来完成步骤s151:

copygenerateheader1.h+generateheader2.h+generateheader3.hall.h

其中copy是windows自带的dos命令,作用是将一份或多份文件复制到另一个位置,执行该程序后,即将generateheader1.h、generateheader2.h、generateheader3.h三个头文件汇总到文件名为all.h的头文件中。该all.h的头文件即为目标头文件。

步骤s170,根据目标头文件编译生成源码文件,源码文件包括分别按照应用程序自定义标识为已有应用程序中服务接口配置的源码信息。

在一示例性实施例中,生成头文件可以使用gsoap工具,相应的,根据目标头文件编译生成源码文件可以相应的使用gsoap工具。如图7所示,步骤s170包括:

步骤s171,为源码文件指定输出文件夹;

步骤s172,以目标头文件的文件名、输出文件夹的文件名和输出文件夹的路径为参数,利用源码文件生成命令编译生成源码文件,源码文件位于路径下的输出文件夹中。

在一示例性实施例中,gsoap工具自带的源码文件生成命令生成源码文件的过程如下:

“setoutputdir=output

mkdir%outputdir%

soapcpp2.exe-c-l-x-n-id:\gsoap2.8.19\import-d%outputdir%all.h”

其中,setoutputdir=output,表示给变量outputdir赋值,该变量用来表示输出文件夹的名字。

soapcpp2.exe是gsoap工具中自带的可执行程序,即为源码文件生成命令,作用是从得到的头文件(示例all.h)生成源码文件,使用如下所示:

soapcpp2.exe命令参数头文件

示例中,

命令参数选项“-c”,表示仅生成客户端代码;

命令参数“-l”,表示不要产生soapclientlib.c和soapserverlib.c文件;

命令参数“-x”,表示不要生成xml示例文件;

命令参数“-n”,表示使用服务名称来重命名服务的函数、命名空间;

命令参数“-i”,指定import的路径,示例为“d:\gsoap2.8.19\import”;

命令参数“-d”,指定代码生成的路径,示例中为当前路径下的output文件夹。

执行完成后,在执行完成后,在路径“d:\gsoap2.8.19\import”下的output输出文件夹中,将会包括根据目标头文件所生成的c/c++格式的源码文件,其中,所得到的源码文件包括:

soap.nsmap、soapc.cpp、soapclient.cpp、soaph.h、soapstub.h;

其中soap.nsmap为命名空间定义代码文件;soapc.cpp为soap的序列和反序列代码文件;soapclient.cpp为客户端代码文件;soaph.h为服务器端代码文件;soapstub.h为soap的存根文件。

具体的,在soapstub.h文件,即soap的存根文件中,根据所设定的应用程序自定义标识显示各个已有应用程序中服务接口的源码信息,如图12所示,各个服务接口的源码信息中配置了应用程序自定义标识,从而可以很直观的看出某个服务接口对应的源码信息属于哪个已有应用程序,针对具体一个已有应用程序,可以直观的看出包括哪些源码信息可供调用。

步骤s190,通过已有应用程序中服务接口所对应的源码信息进行已有应用程序中服务接口的调用,已有应用程序中服务接口所对应的源码信息携带已有应用程序所对应的应用程序自定义标识。

其中一个服务接口对应一个携带有该服务接口所属已有应用程序的应用程序自定义标识,在应用程序中通过将需要调用的服务接口对应的源码信息添加到该应用程序中,那么该应用程序在执行时即可实现源码信息对应的应用程序中服务接口的调用,其中添加进应用程序中的源码信息可以是多个服务接口所分别对应的源码信息(例如一个应用程序中的多个服务接口,或者是多个应用程序中的多个服务接口)。

通过源码信息中所携带的已有应用程序对应的应用程序自定义标识,从而可以直接根据源码信息清楚知道该源码信息所对应的服务接口是那个应用程序的服务接口,提高了程序的可读性。

在一示例性实施例中,如图8所示,步骤s190包括:

步骤s191,将源码文件以及标准函数库文件封装至应用程序。

其中标准函数库文件是所使用的编译工具的标准函数库文件,针对使用的编译工具不同,标准函数库文件也不相同。以使用gsoap工具为例,将gsoap工具中的stdsoap2.h、stdsoap2.cpp这两个标准函数库文件封装至应用程序。其中stdsoap2.h文件是标准soap协议的头文件,stdsoap2.cpp文件是标准soap协议的源文件。该两个标准函数库文件的封装提供了soap协议相关功能的底层实现,比如soap网络连接、通信、xml解析、序列化和反序列化c/c++的数据结构等的底层实现。

由上文可知,编译生成的源码文件包括:soap.nsmap、soapc.cpp、soapclient.cpp、soaph.h、soapstub.h。即将该四个源码文件和上文提到的标准函数库文件封住至应用程序中。

步骤s192,根据在封装后的应用程序中所输入的已有应用程序中服务接口所对应的源码信息,进行已有应用应用程序中服务接口的调用。

其中所输入的已有程序服务中服务接口所对应的源码信息是根据需要输入的,即需要调用哪些服务接口即输入对应的源码信息,源码信息中携带该源码信息所对应服务接口所属已有应用程序的应用程序自定义标识,从而在输入时以及在检查应用程序时可以清楚知道所待调用的服务接口是那个已有应用程序中的服务接口,提高了编程效率。

在封装后的应用程序中输入已有应用程序中服务接口所对应的源码信息后,那么该应用程序在执行时即可实现所输入源码信息对应的服务接口的调用。

通过配置应用程序自定义标识、头文件自定义标识,在编译生成已有应用程序的源码文件后,应用程序中服务接口的源码信息包括该应用程序自定义标识,从而软件工程师可以直观地从所得到的存根文件中了解到各个已有应用程序中具体有哪些源码信息可供调用,以及对于其中某一服务接口对应的源码信息属于哪个应用程序,提高了源码文件的可读性,便于软件工程师通过源码信息调用具体的服务接口。

在一示例性实施例中,如图5所示,在步骤s030之前,该实施例的方法还包括:

步骤s020,从指定配置文件中读取每一已有应用程序对应的应用程序自定义标识、头文件自定义标识;

在该实施例中,步骤s131之前,还包括:

步骤s210,从指定配置文件中读取每一已有应用程序所对应应用程序描述文件的统一资源定位符,指定配置文件用于提供已有应用程序所对应应用程序自定义标识的集合、头文件自定义标识的集合和统一资源定位符的集合。

具体的,指定配置文件可以如图13所示,当然,该配置文件仅仅是适配于本申请的示例性示意图,不能认为是对本申请使用范围的限制。其中,在图13所示的指定配置文件中,每一个已有应用程序的信息用一个中括号代表的节来记录信息,例如,[webserviceinfo1]代表一个已有应用程序1的信息,在该[webserviceinfo1]下,name=service1表示为该已有应用程序1配置的应用程序自定义标识service1,header=generateheader1.h表示为该已有应用程序1所相应生成的头文件配置头文件自定义标识generateheader1.h,wsdl=https://xxx.com/xx?wsdl表示该已有应用程序所对应wsdl文件的统一资源定位符(url)。

在从指定配置文件中读取到为每一已有应用程序配置的应用程序自定义标识和头文件自定义标识后,根据所配置的应用程序变量和头文件变量,可以执行上述实施例的步骤s030以及步骤s110。从该指定的配置文件中读取到每一已有应用程序所对应应用程序描述文件的统一资源定位符后,执行步骤s130(或者步骤s131)及其以后的步骤。

通过指定配置文件作为与用户(比如软件工程师)的交互界面,用户在交互界面为每一已有应用程序配置应用程序自定义标识、头文件自定义标识和所对应应用程序描述文件的统一资源定位符。将本申请应用程序的服务接口调用方法配置为可执行程序,从而用户在指定配置文件中输入相关信息(即为已有应用程序配置应用程序自定义标识、头文件自定义标识和所对应应用程序描述文件的统一资源定位符),通过执行所配置的可执行程序,就可以得到已有应用程序的源码文件,且该源码文件包括分别按照应用程序自定义标识为已有应用程序中服务接口配置的源码信息。

下述为本申请装置实施例,可以用于执行本申请上述的应用程序的服务接口调用方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请应用程序的服务接口调用方法实施例。

图9是根据一示例性实施例示出的一种应用程序的服务接口调用装置的框图,该装置可以用于图1所示的装置100中,执行以上任一实施例所示的应用程序的服务接口调用方法的全部或者部分步骤。如图9所示,该应用程序的服务接口调用装置包括但不限于:获取模块110、头文件生成模块130、目标头文件生成模块150、源码文件生成模块170以及调用模块190,其中:

获取模块110,被配置为执行:获取分别为已有应用程序配置的应用程序自定义标识和分别为已有应用程序所相应生成头文件配置的头文件自定义标识。

头文件生成模块130,该模块与获取模块110连接,被配置为执行:根据应用程序自定义标识以及头文件自定义标识编译生成每一已有应用程序对应的头文件。

目标头文件生成模块150,该模块与头文件生成模块130连接,被配置为执行:通过头文件自定义标识进行所有头文件的汇总得到目标头文件,目标头文件按照应用程序自定义标识声明已有应用程序所包含的服务接口。

源码文件生成模块170,该模块与目标头文件生成模块150连接,被配置为执行:根据目标头文件编译生成源码文件,源码文件包括分别按照应用程序自定义标识为已有应用程序中服务接口配置的源码信息。

调用模块190,该模块与源码文件生成模块170连接,被配置为执行:通过已有应用程序中服务接口所对应的源码信息进行所述已有应用程序中服务接口的调用,已有应用程序中服务接口所对应的源码信息携带所述已有应用程序所对应的应用程序自定义标识。

在一实施例中,应用程序的服务接口调用装置还包括:

变量配置模块,被配置为执行:为每一已有应用程序配置应用程序变量和所相应生成头文件配置头文件变量。

赋值模块,被配置为执行:将应用程序变量赋值为应用程序自定义标识,以及将头文件变量赋值为头文件自定义标识。

在一实施例中,头文件生成模块包括:

头文件生成单元,被配置为执行:以应用程序变量、头文件变量和每一已有应用程序所对应应用程序描述文件的统一资源定位符为参数,利用头文件生成命令编译生成每一已有应用程序对应的头文件,头文件的文件名为头文件自定义标识。

在一实施例中,应用程序的服务接口调用装置还包括:

读取模块,被配置为执行:从指定配置文件中读取每一已有应用程序对应的应用程序自定义标识、头文件自定义标识。

统一资源定位符读取模块,被配置为执行:从指定配置文件中读取每一已有应用程序所对应应用程序描述文件的统一资源定位符,指定配置文件用于提供已有应用程序所对应应用程序自定义标识的集合、头文件自定义标识的集合和统一资源定位符的集合。

在一实施例中,目标头文件生成模块包括:

目标头文件生成单元,被配置为执行:以所有头文件所对应的头文件自定义标识和目标头文件的文件名为参数,通过复制命令将所有头文件复制到目标头文件中,得到目标头文件。

在一实施例中,源码文件生成模块包括:

指定单元,被配置为执行:为源码文件指定输出文件夹。

源码文件生成单元,被配置为执行:以目标头文件的文件名、输出文件夹的文件名和输出文件夹的路径为参数,利用源码文件生成命令编译生成源码文件,源码文件位于路径下的输出文件夹中。

在一实施例中,在一实施例中,调用模块包括:

封装单元,被配置为执行:将源码文件以及标准函数库文件封装至应用程序。

调用单元,被配置为执行:根据在封装后的应用程序中所输入的已有程序服务中服务接口所对应的源码信息,进行已有应用程序服务中服务接口的调用。

上述装置中各个模块或者单元的功能和作用的实现过程具体详见上述应用程序的服务接口调用方法中对应步骤的实现过程,在此不再赘述。

上述各个模块或者单元也可以是功能模块,用于执行上述应用程序的服务接口调用方法中的对应步骤。可以理解,这些模块或单元可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块或单元可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块或单元可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图1的处理器105所执行的存储在存储器101中的程序。

在示例性实施例中,还提供了一种应用程序的服务接口调用装置,如图10所示,包括:

处理器1001;及

存储器1002,存储器上存储有计算机可读指令1002,计算机可读指令1002被处理器1001执行时实现上述各实施例中应用程序的服务接口调用方法。

该实施例中的装置的处理器执行操作的具体方式已经在有关该应用程序的服务接口调用方法的实施例中执行了详细描述,此处将不做详细阐述说明。

在示例性实施例中,还提供了一种存储介质,其上存储有计算机程序,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质,计算机程序被处理器执行时实现上述方法实施例中应用程序的服务接口调用方法。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1