System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种代码编译方法、装置、电子设备和存储介质制造方法及图纸_技高网

一种代码编译方法、装置、电子设备和存储介质制造方法及图纸

技术编号:41680916 阅读:8 留言:0更新日期:2024-06-14 15:34
本申请涉及计算机技术领域,尤其涉及一种代码编译方法、装置、电子设备和存储介质,用以提高代码执行效率。其中,方法包括:获取待编译代码,待编译代码包括子代码和子代码调用的接口函数;对子代码进行编译,获得初始字节码;对接口函数进行解析,获得接口函数能够传输的至少一种参考数据类型;基于至少一种参考数据类型,获得初始字节码中的调用函数能够传输的各目标变量各自对应的目标数据类型;基于各目标数据类型更新初始字节码,获得目标字节码。由于本申请基于采用静态语言类型编写的接口函数能够传输的参考数据类型,能够更加准确的确定目标变量的目标数据类型,进而执行基于目标数据类型获得的目标字节码,能够提高代码执行效率。

【技术实现步骤摘要】

所属的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。与上述方法实施例基于同一专利技术构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图17所示,包括存储器1701,通讯模块1703以及一个或多个处理器1702。存储器1701,用于存储处理器1702执行的计算机程序。存储器1701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。存储器1701可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器1701也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者存储器1701是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1701可以是上述存储器的组合。处理器1702,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器1702,用于调用存储器1701中存储的计算机程序时实现上述代码编译方法。通讯模块1703用于与终端设备和其他服务器进行通信。本申请实施例中不限定上述存储器1701、通讯模块1703和处理器1702之间的具体连接介质。本申请实施例在图17中以存储器1701和处理器1702之间通过总线1704连接,总线1704在图17中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1704可以分为地址总线、数据总线、控制总线等。为便于描述,图17中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。存储器1701中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的代码编译方法。处理器1702用于执行上述的代码编译方法,如图2所示。在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图18所示,包括:通信组件1810、存储器1820、显示单元1830、摄像头1840、传感器1850、音频电路1860、蓝牙模块1870、处理器1880等部件。通信组件1810用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(wireless fidelity,wifi)模块,wifi模块属于短距离无线传输技术,电子设备通过wifi模块可以帮助用户收发信息。存储器1820可用于存储软件程序及数据。处理器1880通过运行存储在存储器1820的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1820存储有使得终端设备110能运行的操作系统。本申请中存储器1820可以存储操作系统及各种应用程序,还可以存储执行本申请实施例代码编译方法的计算机程序。显示单元1830还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,gui)。具体地,显示单元1830可以包括设置在终端设备110正面的显示屏1832。其中,显示屏1832可以采用液晶显示器、发光二极管等形式来配置。显示单元1830可以用于显示本申请实施例中的代码编译用户界面等。显示单元1830还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1830可以包括设置在终端设备110正面的触摸屏1831,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。其中,触摸屏1831可以覆盖在显示屏1832之上,也可以将触摸屏1831与显示屏1832集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1830可以显示应用程序以及对应的操作步骤。摄像头1840可用于捕获静态图像,用户可以将摄像头1840拍摄的图像通过应用发布评论。摄像头1840可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1880转换成数字图像信号。终端设备还可以包括至少一种传感器1850,比如加速度传感器1851、距离传感器1852、指纹传感器1853、温度传感器1854。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。音频电路1860、扬声器1861、传声器1862可提供用户与终端设备110之间的音频接口。音频电路1860可将接收到的音频数据转换后的电信号,传输到扬声器1861,由扬声器1861转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1862将收集的声音信号转换为电信号,由音频电路1860接收后转换为音频数据,再将音频数据输出至通信组件1810以发送给比如另一终端设备110,或者将音频数据输出至存储器1820以便进一步处理。蓝牙模块1870用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1870与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。处理器1880是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1820内的软件程序,以及调用存储在存储器1820内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1880可包括一个或多个处理单元;处理器1880还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1880中。本申请中处理器1880可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的代码编译方法。另外,处理器1880与显示单元1830耦接。在一些可能的实施方式中,本申请提供的代码编译方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性本文档来自技高网...

【技术保护点】

1.一种代码编译方法,其特征在于,该方法包括:

2.如权利要求1所述的方法,其特征在于,所述对所述接口函数进行解析,获得所述接口函数能够传输的至少一种参考数据类型,包括:

3.如权利要求1所述的方法,其特征在于,所述动态语言类型具有第一语言类型,所述静态语言类型具有第二语言类型;

4.如权利要求3所述的方法,其特征在于,所述参考数据类型包括第一输入类型和第一输出类型,所述目标数据类型包括第二输入类型和第二输出类型;

5.如权利要求1-4任一项所述的方法,其特征在于,所述子代码包含多条子代码指令;所述初始字节码包含多条初始字节码指令;

6.如权利要求5所述的方法,其特征在于,所述基于所述各目标数据类型,对所述初始字节码指令进行更新,获得所述目标字节码,包括:

7.如权利要求1-4任一项所述的方法,其特征在于,在所述基于所述至少一种参考数据类型,获得所述初始字节码中的调用函数能够传输的各目标变量各自对应的目标数据类型之后,还包括:

8.如权利要求7所述的方法,其特征在于,所述基于各目标数据类型更新所述初始字节码,获得目标字节码,包括:

9.如权利要求1-4任一项所述的方法,其特征在于,在所述基于所述至少一种参考数据类型,获得所述初始字节码中的调用函数能够传输的各目标变量各自对应的目标数据类型之前,还包括:

10.一种代码编译装置,其特征在于,包括:

11.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~9中任一所述方法的步骤。

12.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~9中任一所述方法的步骤。

13.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行权利要求1~9中任一所述方法的步骤。

...

【技术特征摘要】

1.一种代码编译方法,其特征在于,该方法包括:

2.如权利要求1所述的方法,其特征在于,所述对所述接口函数进行解析,获得所述接口函数能够传输的至少一种参考数据类型,包括:

3.如权利要求1所述的方法,其特征在于,所述动态语言类型具有第一语言类型,所述静态语言类型具有第二语言类型;

4.如权利要求3所述的方法,其特征在于,所述参考数据类型包括第一输入类型和第一输出类型,所述目标数据类型包括第二输入类型和第二输出类型;

5.如权利要求1-4任一项所述的方法,其特征在于,所述子代码包含多条子代码指令;所述初始字节码包含多条初始字节码指令;

6.如权利要求5所述的方法,其特征在于,所述基于所述各目标数据类型,对所述初始字节码指令进行更新,获得所述目标字节码,包括:

7.如权利要求1-4任一项所述的方法,其特征在于,在所述基于所述至少一种参考数据类型,获得所述初始字节码中的调用函数能够传输的各目标变量各自对应的目标数据类型之后,还包括:

8.如权利要求7所述的方法,...

【专利技术属性】
技术研发人员:王文洋张超蒋杰陈鹏杨晓峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1