System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 二进制翻译方法、装置、电子设备及计算机程序产品制造方法及图纸_技高网

二进制翻译方法、装置、电子设备及计算机程序产品制造方法及图纸

技术编号:41485273 阅读:2 留言:0更新日期:2024-05-30 14:33
本发明专利技术实施例提供了一种二进制翻译方法、装置、电子设备及计算机程序产品,应用于二进制翻译系统,其中的方法包括:在翻译执行到第一库函数的调用指令时,在识别所述第一库函数满足库直通条件的情况下,调用第二库函数;所述第一库函数为客户平台的库函数,所述第二库函数为宿主平台的库函数,所述第一库函数与所述第二库函数相匹配;在执行所述第二库函数的过程中,在识别所述第二库函数满足回退条件的情况下,对所述第二库函数执行回退操作;所述回退操作指返回至所述第一库函数的调用地址处翻译执行所述第一库函数。本发明专利技术实施例可以在减少翻译执行的操作成本、提高程序运行效率的基础上,保证程序运行的正确性。

【技术实现步骤摘要】

本专利技术涉及计算机,特别是涉及一种二进制翻译方法、装置、电子设备以及计算机程序产品。


技术介绍

1、二进制翻译可以将运行在一种体系架构(guest平台)的源程序转换为运行在另一种体系架构(host平台)的目标程序,以解决二进制层面的应用程序跨指令集架构运行的问题。

2、二进制翻译场景下,guest程序(客户平台程序)在host平台翻译执行,当guest程序需要调用库函数时,通常是调用源架构在本地平台中的备份库文件中的函数,也即调用guest平台的库函数,这就需要将guest程序、guest程序的动态链接器和guest程序要调用的库函数一同翻译执行,翻译开销较大,影响程序运行效率。通过库直通可以提高库函数的执行效率、消除库函数的翻译开销。库直通功能指的是,guest程序在host平台上翻译执行的过程中可以直接调用host平台的库函数(称为本地库函数),跳转至本地库函数进行执行,不用翻译执行guest平台的库函数,可以提高库函数的执行效率、消除库函数的翻译开销。

3、但是,在使用库直通功能时,被调用的本地库函数并不能保证是否可以正确执行,本地库函数执行完成后会返回到调用库函数的下一条指令继续翻译执行,从而影响程序执行的正确性。


技术实现思路

1、鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种二进制翻译方法,可以在减少翻译执行的操作成本、提高程序运行效率的基础上,保证程序运行的正确性。

2、相应的,本专利技术实施例还提供了一种二进制翻译装置、电子设备、以及计算机程序产品,用以保证上述方法的实现及应用。

3、第一方面,本专利技术实施例公开了一种二进制翻译方法,应用于二进制翻译系统,所述二进制翻译系统用于将源代码翻译为目标代码,所述源代码为客户平台程序的二进制代码,所述目标代码为宿主平台的二进制代码,所述方法包括:

4、在翻译执行到第一库函数的调用指令时,在识别所述第一库函数满足库直通条件的情况下,调用第二库函数;所述第一库函数为客户平台的库函数,所述第二库函数为宿主平台的库函数,所述第一库函数与所述第二库函数相匹配;

5、在执行所述第二库函数的过程中,在识别所述第二库函数满足回退条件的情况下,对所述第二库函数执行回退操作;所述回退操作指返回至所述第一库函数的调用地址处翻译执行所述第一库函数。

6、第二方面,本专利技术实施例公开了一种二进制翻译装置,应用于二进制翻译系统,所述二进制翻译系统用于将源代码翻译为目标代码,所述源代码为客户平台程序的二进制代码,所述目标代码为宿主平台的二进制代码,所述装置包括:

7、库直通调用模块,用于在翻译执行到第一库函数的调用指令时,在识别所述第一库函数满足库直通条件的情况下,调用第二库函数;所述第一库函数为客户平台的库函数,所述第二库函数为宿主平台的库函数,所述第一库函数与所述第二库函数相匹配;

8、库直通回退模块,用于在执行所述第二库函数的过程中,在识别所述第二库函数满足回退条件的情况下,对所述第二库函数执行回退操作;所述回退操作指返回至所述第一库函数的调用地址处翻译执行所述第一库函数。

9、第三方面,本专利技术实施例公开了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述中任一所述的二进制翻译方法的步骤。

10、第四方面,本专利技术实施例公开了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时能够实现本专利技术实施例中任一所述的二进制翻译方法。

11、第五方面,本专利技术实施例公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时如前述中任一所述的二进制翻译方法的步骤。

12、本专利技术实施例包括以下优点:

13、本专利技术的二进制翻译方法提供一种回退(fallback)机制。在宿主平台翻译执行客户平台程序的过程中,在翻译执行到第一库函数的调用指令时,若识别所述第一库函数满足库直通条件,则调用第二库函数,以实现库直通功能。在执行所述第二库函数的过程中,若识别所述第二库函数满足回退条件,则可以获取第一库函数的调用地址,从而基于第一库函数的调用地址执行回退操作,返回至所述第一库函数的调用地址处翻译执行所述第一库函数。通过本专利技术实施例,在库直通成功的情况下,可以减少翻译执行的操作成本,提高程序运行效率。在库直通失败的情况下,可以对库直通调用的第二库函数执行回退操作,返回至对应的第一库函数的调用地址处翻译执行所述第一库函数,从而可以保证程序运行的正确性。

本文档来自技高网...

【技术保护点】

1.一种二进制翻译方法,其特征在于,应用于二进制翻译系统,所述二进制翻译系统用于将源代码翻译为目标代码,所述源代码为客户平台程序的二进制代码,所述目标代码为宿主平台的二进制代码,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述对所述第二库函数执行回退操作,包括:

4.根据权利要求1所述的方法,其特征在于,所述第一库函数用于对函数参数指示的对象进行操作,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述识别所述第二库函数满足回退条件,包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述调用第二库函数之前,还包括:

8.一种二进制翻译装置,其特征在于,应用于二进制翻译系统,所述二进制翻译系统用于将源代码翻译为目标代码,所述源代码为客户平台程序的二进制代码,所述目标代码为宿主平台的二进制代码,所述装置包括:

9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至7任一所述的二进制翻译方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时如权利要求1至7任一所述的二进制翻译方法的步骤。

...

【技术特征摘要】

1.一种二进制翻译方法,其特征在于,应用于二进制翻译系统,所述二进制翻译系统用于将源代码翻译为目标代码,所述源代码为客户平台程序的二进制代码,所述目标代码为宿主平台的二进制代码,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述对所述第二库函数执行回退操作,包括:

4.根据权利要求1所述的方法,其特征在于,所述第一库函数用于对函数参数指示的对象进行操作,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述识别所述第二库函数满足回退条件,包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求...

【专利技术属性】
技术研发人员:闫昭煜曾露李静
申请(专利权)人:龙芯中科技术股份有限公司
类型:发明
国别省市:

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

1