一种跨语言绑定方法、装置、设备及存储介质制造方法及图纸

技术编号:25086624 阅读:22 留言:0更新日期:2020-07-31 23:30
本申请实施例公开了一种跨语言绑定方法、装置、设备及存储介质。本申请实施例提供的技术方案通过在编写原始代码时,基于预设注释格式对原始代码进行注释,之后根据原始代码注释中的关键字确定注释类型,并基于对应的注释类型将注释信息转换成IDL文件,并基于IDL文件生成目标语言的绑定代码,实现目标代码到原始代码的映射,基于该绑定代码即可获取原始组件在目标语言上使用对应功能的能力,无需开发者手动编写绑定代码,根据编写原始代码时输入的注释即可自动生成目标语言的绑定代码,提高项目开发效率。

【技术实现步骤摘要】
一种跨语言绑定方法、装置、设备及存储介质
本申请实施例涉及计算机
,尤其涉及一种跨语言绑定方法、装置、设备及存储介质。
技术介绍
对于主流的编程语言框架,尽管可以完全用一种语言编写出应用程序,但还是存在单独用该语言无法满足应用程序的情况,例如标准库没有提供应用程序所需要的功能,尤其这些功能是平台相关的,只能用其他语言编写。为了解决上述问题,编程语言框架通常会提供一套API(ApplicationProgrammingInterface,应用程序接口),比如Java的JNI(JavaNativeInterface,Java本地接口),Node.js的N-API等。开发者可以按照这套API的规则编写绑定代码,将另一种语言上实现的功能注册到目标语言上,以获取在其应用层使用这些功能的能力。但是,编写绑定代码需要时间,接口越复杂,需要的时间越长,编写绑定代码需要耗费开发者大量的时间,导致项目开发效率降低。
技术实现思路
本申请实施例提供一种跨语言绑定方法、装置、设备及存储介质,以自动生成目标语言的绑定代码,提高项目开发效率。在第一方面,本申请实施例提供了一种跨语言绑定方法,包括:遍历原始代码中的注释,提取注释中的关键字以及注释信息,所述原始代码基于预设注释格式进行注释,注释格式包括关键字和注释信息;基于所述关键字确定注释类型,并基于所述注释类型将所述注释信息转换成IDL文件;基于所述IDL文件生成目标语言的绑定代码,所述绑定代码用于实现目标代码到原始代码的映射,并提供用目标语言描述的接口。进一步的,所述基于所述关键字确定注释类型,并基于所述注释类型将所述注释信息转换成IDL文件,包括:基于所述关键字确定注释类型,并根据所述注释类型解析所述注释信息;根据解析后的所述注释信息生成IDL对象,并基于所述IDL对象生成IDL文件。进一步的,所述基于所述IDL文件生成目标语言的绑定代码,包括:读取IDL文件,获取IDL文件中的IDL对象;遍历所述IDL对象,确定所述IDL对象的对象类型;根据所述对象类型将所述IDL对象注册到目标语言中,得到与对象类型对应的绑定代码。进一步的,所述基于所述IDL文件生成目标语言的绑定代码之后,还包括:基于所述绑定代码生成目标语言组件和/或应用程序。进一步的,所述基于所述绑定代码生成目标语言组件和/或可执行程序,包括将所述绑定代码和原始组件结合并编译生成目标语言组件;和/或将所述绑定代码、原始组件以及应用程序代码结合并编译生成可执行程序。进一步的,所述基于所述关键字确定注释类型,并基于所述注释类型将所述注释信息转换成IDL文件之后,还包括:基于所述IDL文件生成API文档。进一步的,所述基于所述IDL文件生成API文档,包括:读取IDL文件,获取IDL文件中的IDL对象;利用文档生成工具将所述IDL对象转换成API文档。在第二方面,本申请实施例提供了一种跨语言绑定装置,包括注释抽取模块、IDL文件生成模块和绑定代码生成模块,其中:注释抽取模块,用于遍历原始代码中的注释,提取注释中的关键字以及注释信息,所述原始代码基于预设注释格式进行注释,注释格式包括关键字和注释信息;IDL文件生成模块,用于基于所述关键字确定注释类型,并基于所述注释类型将所述注释信息转换成IDL文件;绑定代码生成模块,用于基于所述IDL文件生成目标语言的绑定代码,所述绑定代码用于实现目标代码到原始代码的映射,并提供用目标语言描述的接口。进一步的,所述IDL文件生成模块具体用于:基于所述关键字确定注释类型,并根据所述注释类型解析所述注释信息;根据解析后的所述注释信息生成IDL对象,并基于所述IDL对象生成IDL文件。进一步的,所述绑定代码生成模块具体用于:读取IDL文件,获取IDL文件中的IDL对象;遍历所述IDL对象,确定所述IDL对象的对象类型;根据所述对象类型将所述IDL对象注册到目标语言中,得到与对象类型对应的绑定代码。进一步的,所述装置还包括组件生成模块,用于基于所述绑定代码生成目标语言组件。进一步的,所述组件生成模块具体用于将所述绑定代码和原始组件结合并编译生成目标语言组件。进一步的,所述装置还包括程序生成模块,用于基于所述绑定代码生成可执行程序。进一步的,所述程序生成模块具体用于将所述绑定代码、原始组件以及应用程序代码结合并编译生成可执行程序。进一步的,所述装置还包括API文档生成模块,用于基于所述IDL文件生成API文档。进一步的,所述API文档生成模块具体用于读取IDL文件,获取IDL文件中的IDL对象;利用文档生成工具将所述IDL对象转换成API文档。在第三方面,本申请实施例提供了一种计算机设备,包括:存储器以及一个或多个处理器;所述存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的跨语言绑定方法。在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的跨语言绑定方法。本申请实施例通过在编写原始代码时,基于预设注释格式对原始代码进行注释,之后根据原始代码注释中的关键字确定注释类型,并基于对应的注释类型将注释信息转换成IDL文件,并基于IDL文件生成目标语言的绑定代码,实现目标代码到原始代码的映射,基于该绑定代码即可获取原始组件在目标语言上使用对应功能的能力,无需开发者手动编写绑定代码,根据编写原始代码时输入的注释即可自动生成目标语言的绑定代码,提高项目开发效率。附图说明图1是本申请实施例提供的一种跨语言绑定方法的流程图;图2是本申请实施例提供的另一种跨语言绑定方法的流程图;图3是本申请实施例提供的生成IDL对象的流程示意图;图4是本申请实施例提供的生成绑定代码及目标语言组件的生成流程图;图5是本申请实施例提供的一种跨语言绑定装置的示意图;图6是本申请实施例提供的一种计算机设备的结构示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程本文档来自技高网...

【技术保护点】
1.一种跨语言绑定方法,其特征在于,包括:/n遍历原始代码中的注释,提取注释中的关键字以及注释信息,所述原始代码基于预设注释格式进行注释,注释格式包括关键字和注释信息;/n基于所述关键字确定注释类型,并基于所述注释类型将所述注释信息转换成IDL文件;/n基于所述IDL文件生成目标语言的绑定代码,所述绑定代码用于实现目标代码到原始代码的映射,并提供用目标语言描述的接口。/n

【技术特征摘要】
1.一种跨语言绑定方法,其特征在于,包括:
遍历原始代码中的注释,提取注释中的关键字以及注释信息,所述原始代码基于预设注释格式进行注释,注释格式包括关键字和注释信息;
基于所述关键字确定注释类型,并基于所述注释类型将所述注释信息转换成IDL文件;
基于所述IDL文件生成目标语言的绑定代码,所述绑定代码用于实现目标代码到原始代码的映射,并提供用目标语言描述的接口。


2.根据权利要求1所述的跨语言绑定方法,其特征在于,所述基于所述关键字确定注释类型,并基于所述注释类型将所述注释信息转换成IDL文件,包括:
基于所述关键字确定注释类型,并根据所述注释类型解析所述注释信息;
根据解析后的所述注释信息生成IDL对象,并基于所述IDL对象生成IDL文件。


3.根据权利要求2所述的跨语言绑定方法,其特征在于,所述基于所述IDL文件生成目标语言的绑定代码,包括:
读取IDL文件,获取IDL文件中的IDL对象;
遍历所述IDL对象,确定所述IDL对象的对象类型;
根据所述对象类型将所述IDL对象注册到目标语言中,得到与对象类型对应的绑定代码。


4.根据权利要求1所述的跨语言绑定方法,其特征在于,所述基于所述IDL文件生成目标语言的绑定代码之后,还包括:
基于所述绑定代码生成目标语言组件和/或应用程序。


5.根据权利要求4所述的跨语言绑定方法,其特征在于,所述基于所述绑定代码生成目标语言组件和/或可执行程序,包括
将所述绑定代码和原始组件结合并编译生成目标语言组件;和/或
将所述绑定代码、原始组件...

【专利技术属性】
技术研发人员:周立功李先静许朝泽
申请(专利权)人:广州致远电子有限公司
类型:发明
国别省市:广东;44

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

1