程序运行方法、装置、电子设备及存储介质制造方法及图纸

技术编号:31825698 阅读:12 留言:0更新日期:2022-01-12 12:52
本申请提供一种程序运行方法、装置、电子设备及存储介质,程序运行方法包括:获取接口文件,接口文件用于描述相互通信的程序的接口信息;确定第一程序所使用的第一语言,以及确定第二程序所使用的第二语言,其中,第一程序与第二程序的运行环境不同,第一语言和第二语言为不同类型的语言;基于接口文件,结合第一语言的类型得到第一语言对应的第一接口框架代码,以及基于接口文件,结合第二语言的类型得到第二语言对应的第二接口框架代码;将第一程序与第一接口框架代码组合,以及将第二程序与第二接口框架代码组合,使得组合后的第一程序和组合后的第二程序在运行时能够相互通信,使得运行在不同环境的程序间的相互通信变的更加容易。更加容易。更加容易。

【技术实现步骤摘要】
程序运行方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种程序运行方法、装置、电子设备及存储介质。

技术介绍

[0002]随着计算机技术的不断发展,计算机设备也逐渐多样化,计算机设备中应用程序的运行环境也呈现出复杂化的趋势。
[0003]在不同运行环境中的程序或模块,若需要进行数据的调用,就需要将一个运行环境中程序或模块的软件代码修改为适用于另一个运行环境的软件代码,以便于另一个运行环境中的程序或模块进行数据调用。举例来说,假设程序a运行于运行环境A中,程序b运行于运行环境B中。当程序b需要调用程序a中的数据时,由于程序a与程序b所处的运行环境不同,进而导致程序a与程序b对应的指令集、编程语言等存在差异,故程序b无法直接调用程序a中的数据。为了使程序b能够调用程序a中的数据,现有的操作方式为:获取程序a的源码,对程序a的源码本身进行大量修改,使修改后的源码的语言与程序b一致。这样,程序b基于修改后的源码就能够实现对程序a中数据的调用。
[0004]然而,应用程序的运行环境千差万别。相应的,进行数据调用的各应用程序的语言也各式各样。在一个应用程序对另一个应用程序进行调用时,需要先将这一个应用程序的语言修改为与另一个应用程序所使用的语言一致。这就需要设计人员能够同时掌握两种不同的计算机语言,这对于设计人员的能力要求较高,这并不容易实现。进而导致在不同运行环境下,程序间的互操作不易实现。

技术实现思路

[0005]本申请实施例的目的是提供一种程序运行方法、装置、电子设备及存储介质,以使程序间的通信更加容易。
[0006]为解决上述技术问题,本申请实施例提供如下技术方案:
[0007]本申请第一方面提供一种程序运行方法,所述方法包括:
[0008]获取接口文件,所述接口文件用于描述相互通信的程序的接口信息;
[0009]确定第一程序所使用的第一语言,以及确定第二程序所使用的第二语言,其中,所述第一程序与所述第二程序的运行环境不同,所述第一语言和所述第二语言为不同类型的语言;
[0010]基于所述接口文件,结合所述第一语言的类型得到所述第一语言对应的第一接口框架代码,以及基于所述接口文件,结合所述第二语言的类型得到所述第二语言对应的第二接口框架代码;
[0011]将所述第一程序与所述第一接口框架代码组合,以及将所述第二程序与所述第二接口框架代码组合,使得组合后的第一程序和组合后的第二程序在运行时能够相互通信。
[0012]本申请第二方面提供一种程序运行装置,所述装置包括:
[0013]接收模块,用于获取接口文件,所述接口文件用于描述相互通信的程序的接口信息;
[0014]确定模块,用于确定第一程序所使用的第一语言,以及确定第二程序所使用的第二语言,其中,所述第一程序与所述第二程序的运行环境不同,所述第一语言和所述第二语言为不同类型的语言;
[0015]转换模块,用于基于所述接口文件,结合所述第一语言的类型得到所述第一语言对应的第一接口框架代码,以及基于所述接口文件,结合所述第二语言的类型得到所述第二语言对应的第二接口框架代码;
[0016]处理模块,用于将所述第一程序与所述第一接口框架代码组合,以及将所述第二程序与所述第二接口框架代码组合,使得组合后的第一程序和组合后的第二程序在运行时能够相互通信。
[0017]本申请第三方面提供一种电子设备,包括:处理器、存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行第一方面中的方法。
[0018]本申请第四方面提供一种计算机可读存储介质,包括:存储的程序;其中,在所述程序运行时控制所述存储介质所在设备执行第一方面中的方法。
[0019]相较于现有技术,本申请第一方面提供的程序运行方法,在获取接口文件后,确定第一程序所使用的第一语言,以及确定第二程序所使用的第二语言,并基于接口文件,结合第一语言的类型得到第一语言对应的第一接口框架代码,以及基于接口文件,结合第二语言的类型得到第二语言对应的第二接口框架代码,进而将第一程序与第一接口框架代码组合,以及将第二程序与第二接口框架代码组合,使得组合后的第一程序和组合后的第二程序在运行时能够相互通信。通过预先设置用于统一描述接口信息的接口文件,并根据运行在不同环境中的程序的语言,将接口文件分别转换为相应语言的接口框架代码,进而将各程序与其相应的接口框架代码进行组合,使得组合后的不同语言、不同运行环境的各程序所采用的接口描述实现了统一,使得组合后的各程序间即便运行在不同的环境,也能够实现相互通信,使得运行在不同环境的程序间的相互通信变的更加容易。
[0020]本申请第二方面提供的程序运行装置、第三方面提供的电子设备、第四方面提供的计算机可读存储介质,与第一方面提供的程序运行方法具有相同或相似的有益效果。
附图说明
[0021]通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:
[0022]图1为本申请实施例中程序运行方法的架构示意图;
[0023]图2为本申请实施例中程序运行方法的流程示意图一;
[0024]图3为本申请实施例中程序运行方法的流程示意图二;
[0025]图4为本申请实施例中处理C++程序代码和Rust程序代码的架构示意图;
[0026]图5为本申请实施例中生成C++程序代码和Rust程序代码对应的接口框架代码和接口胶水代码的流程示意图;
[0027]图6为本申请实施例中将C++程序代码编译为二进制代码的流程示意图;
[0028]图7为本申请实施例中同一应用程序间不同模块交互的架构示意图;
[0029]图8为本申请实施例中同一计算机设备中不同应用程序交互的架构示意图;
[0030]图9为本申请实施例中不同计算机设备中不同应用程序交互的架构示意图;
[0031]图10为本申请实施例中程序运行装置的结构示意图一;
[0032]图11为本申请实施例中程序运行装置的结构示意图二;
[0033]图12为本申请实施例中电子设备的结构示意图。
具体实施方式
[0034]下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
[0035]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
[0036]在现有技术中,不同运行环境中的程序间需要相互通信时,需要将某一个程序的接口描述语本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序运行方法,其特征在于,所述方法包括:获取接口文件,所述接口文件用于描述相互通信的程序的接口信息;确定第一程序所使用的第一语言,以及确定第二程序所使用的第二语言,其中,所述第一程序与所述第二程序的运行环境不同,所述第一语言和所述第二语言为不同类型的语言;基于所述接口文件,结合所述第一语言的类型得到所述第一语言对应的第一接口框架代码,以及基于所述接口文件,结合所述第二语言的类型得到所述第二语言对应的第二接口框架代码;将所述第一程序与所述第一接口框架代码组合,以及将所述第二程序与所述第二接口框架代码组合,使得组合后的第一程序和组合后的第二程序在运行时能够相互通信。2.根据权利要求1所述的方法,其特征在于,所述基于所述接口文件,结合所述第一语言的类型得到所述第一语言对应的第一接口框架代码,包括:通过编译器将所述接口文件转换为所述第一接口框架代码;所述将所述第一程序与所述第一接口框架代码组合,包括:将所述第一程序填充在所述第一接口框架代码中。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取第一接口胶水代码,所述第一接口胶水代码用于生成二进制程序代码;通过所述第一接口胶水代码将组合后的第一程序编译为所述第一程序对应的二进制程序代码。4.根据权利要求1所述的方法,其特征在于,所述确定第一程序所使用的第一语言,包括:获取用户的输入信息,所述输入信息用于表征所述第一程序在开发时所使用的语言;将所述输入信息表征的语言作为所述第一程序所使用的第一语言。5.根据权利要求1所述的方法,其特征在于,在所述获取接口文件之前,所述方法还包括:当所述接口文件在第一预设时间内没有新增的接口描述时,输出提示信息,所述提示信息用于提醒用户升级接口文件;所述获取接口文件,包括:当在第二预设时间内接收到所述用户的反馈信息,并且所述反馈信息指示没有新增的接口描述时,或者,当在第二预设时间内未接收到所述用户的反馈信息时,获取当前存储...

【专利技术属性】
技术研发人员:王一龚力李伟琪戴卫斌于波周宇虹
申请(专利权)人:北京奕斯伟计算技术有限公司
类型:发明
国别省市:

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

1