CN117149201A - 代码执行方法、装置和电子设备 - Google Patents
代码执行方法、装置和电子设备 Download PDFInfo
- Publication number
- CN117149201A CN117149201A CN202210573280.XA CN202210573280A CN117149201A CN 117149201 A CN117149201 A CN 117149201A CN 202210573280 A CN202210573280 A CN 202210573280A CN 117149201 A CN117149201 A CN 117149201A
- Authority
- CN
- China
- Prior art keywords
- type information
- typescript
- syntax tree
- javascript
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000006870 function Effects 0.000 claims description 39
- 238000003780 insertion Methods 0.000 claims description 26
- 230000037431 insertion Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 13
- 239000003607 modifier Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 17
- 238000004891 communication Methods 0.000 description 37
- 230000006854 communication Effects 0.000 description 37
- 238000012545 processing Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000005236 sound signal Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000003068 static effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本申请实施例提供一种代码执行方法、装置和电子设备,上述代码执行方法中,获取TypeScript代码之后,将上述TypeScript代码转换为TypeScript语法树;从上述TypeScript语法树中查找属于预定节点类型的节点,然后获取预定节点类型的类型信息,按照预定节点类型定义的结构体方式,将类型信息插入TypeScript语法树,再将插入上述类型信息之后的TypeScript语法树,转换为JavaScript语法树,根据上述节点被使用的位置,将类型信息插入上述JavaScript语法树,最后将插入上述类型信息的JavaScript语法树转换为JavaScript代码,执行上述JavaScript代码,从而JavaScript执行引擎能够从JavaScript代码中获取到类型信息,根据上述类型信息确定执行过程中的JavaScript代码的类型,减少了引擎不必要的类型检查和推导,提高了JavaScript的执行性能。
Description
技术领域
本申请实施例涉及智能终端技术领域,特别涉及一种代码执行方法、装置和电子设备。
背景技术
JavaScript(JS)是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言。TypeScript(TS)是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。
TypeScript可以通过TypeScript编译器转换为JavaScript代码,可运行在浏览器或者操作系统。
现有相关技术中,TypeScript带有的静态类型信息转换到JavaScript后,由于JavaScript代码是弱类型语言,静态类型信息已经丢失,因此JavaScript执行引擎在执行JavaScript代码时,需要进行类型检查和类型推导,JavaScript的执行性能较差。
发明内容
本申请实施例提供了一种代码执行方法、装置和电子设备,本申请实施例还提供一种计算机可读存储介质,以实现将TypeScript在转换过程中的类型信息通过符合JavaScript的代码片段插入到生成的JavaScript代码中,从而JavaScript执行引擎能够通过代码片段获取到类型信息,根据上述类型信息确定执行过程中的JavaScript代码的类型,减少引擎不必要的类型检查和推导,提高JavaScript的执行性能。
第一方面,本申请提供了一种代码执行方法,包括:获取TypeScript代码,将上述TypeScript代码转换为TypeScript语法树,从上述TypeScript语法树中查找属于预定节点类型的节点,并获取上述预定节点类型的类型信息。然后,按照上述预定节点类型定义的结构体方式,将上述类型信息插入上述TypeScript语法树,将插入上述类型信息之后的TypeScript语法树,转换为JavaScript语法树。接下来,根据上述节点被使用的位置,将上述类型信息插入上述JavaScript语法树,将插入上述类型信息的JavaScript语法树转换为JavaScript代码。最后,执行上述JavaScript代码。
具体地,可以由JavaScript引擎执行上述JavaScript代码,执行上述JavaScript代码的过程中,JavaScript引擎可以通过插入JavaScript代码的代码片段获取到类型信息,从而可以根据获取的类型信息,确定执行过程中的JavaScript代码的类型,减少了JavaScript引擎不必要的类型检查和推导,提高了JavaScript的执行性能。
其中一种可能的实现方式中,获取上述预定节点类型的类型信息可以为:通过TypeScript编译器中的类型检查器获取上述预定节点类型的类型信息。
其中一种可能的实现方式中,上述类型信息在上述TypeScript语法树中的插入位置根据上述节点在上述TypeScript语法树中的位置确定。
其中一种可能的实现方式中,根据上述节点被使用的位置,将上述类型信息插入上述JavaScript语法树可以为:获取上述节点在上述JavaScript语法树中被使用的位置,根据上述JavaScript语法树中上述节点被使用的位置,确定上述类型信息在上述JavaScript语法树中的插入位置。然后,按照上述插入位置插入上述类型信息。具体地,按照上述插入位置插入上述类型信息可以为:按照引用方式,将上述类型信息插入上述插入位置。
其中一种可能的实现方式中,按照上述预定节点类型定义的结构体方式,将上述类型信息插入上述TypeScript语法树之前,还可以将上述预定节点类型的类型信息定义为结构体,上述结构体包括上述预定节点类型的名字、修饰符、继承关系、泛型关系、内部属性和/或内部函数。这样,按照上述预定节点类型定义的结构体方式,将上述类型信息插入上述TypeScript语法树可以为:将上述结构体插入上述TypeScript语法树。
第二方面,本申请实施例提供一种代码执行装置,该装置包含在电子设备中,该装置具有实现第一方面及第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元、发送模块或单元等。
第三方面,本申请实施例提供一种电子设备,包括:一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述电子设备执行时,使得上述电子设备执行以下步骤:获取TypeScript代码;将上述TypeScript代码转换为TypeScript语法树;从上述TypeScript语法树中查找属于预定节点类型的节点;获取上述预定节点类型的类型信息;按照上述预定节点类型定义的结构体方式,将上述类型信息插入上述TypeScript语法树;将插入上述类型信息之后的TypeScript语法树,转换为JavaScript语法树;根据上述节点被使用的位置,将上述类型信息插入上述JavaScript语法树;将插入上述类型信息的JavaScript语法树转换为JavaScript代码;执行上述JavaScript代码。
其中一种可能的实现方式中,当上述指令被电子设备执行时,使得电子设备执行上述获取上述预定节点类型的类型信息的步骤可以为:通过TypeScript编译器中的类型检查器获取上述预定节点类型的类型信息。
其中一种可能的实现方式中,上述类型信息在上述TypeScript语法树中的插入位置根据上述节点在上述TypeScript语法树中的位置确定。
其中一种可能的实现方式中,当上述指令被上述电子设备执行时,使得电子设备执行根据上述节点被使用的位置,将上述类型信息插入上述JavaScript语法树的步骤可以为:获取上述节点在上述JavaScript语法树中被使用的位置;根据上述JavaScript语法树中上述节点被使用的位置,确定上述类型信息在上述JavaScript语法树中的插入位置;按照上述插入位置插入上述类型信息。
其中一种可能的实现方式中,当上述指令被上述电子设备执行时,使得电子设备执行按照上述插入位置插入上述类型信息的步骤可以为:按照引用方式,将上述类型信息插入上述插入位置。
其中一种可能的实现方式中,当上述指令被上述电子设备执行时,使得电子设备执行按照上述预定节点类型定义的结构体方式,将上述类型信息插入上述TypeScript语法树的步骤之前,还执行以下步骤:将上述预定节点类型的类型信息定义为结构体,上述结构体包括上述预定节点类型的名字、修饰符、继承关系、泛型关系、内部属性和/或内部函数。
其中一种可能的实现方式中,当上述指令被上述电子设备执行时,使得电子设备执行按照上述预定节点类型定义的结构体方式,将上述类型信息插入上述TypeScript语法树的步骤可以为:将上述结构体插入上述TypeScript语法树。
应当理解的是,本申请实施例的第二和第三方面与本申请实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
第四方面,本申请实施例提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行第一方面提供的方法。
第五方面,本申请实施例提供一种计算机程序,当上述计算机程序被计算机执行时,用于执行第一方面提供的方法。
在一种可能的设计中,第五方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
图1为现有相关技术提供的TypeScript代码到JavaScript代码的转换过程示意图;
图2为本申请一个实施例提供的电子设备的结构示意图;
图3为本申请一个实施例提供的TypeScript代码到JavaScript代码的转换流程示意图;
图4为本申请一个实施例提供的代码执行方法的流程图;
图5为本申请一个实施例提供的预定节点类型的示意图;
图6为本申请一个实施例提供的JSON结构体的示意图;
图7为本申请另一个实施例提供的电子设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
图1为现有相关技术提供的TypeScript代码到JavaScript代码的转换过程示意图,如图1所示,TypeScript到JavaScript代码转换的流程是:TypeScript代码会被解析为语法树,然后通过若干个转换器生成新的语法树,最后通过代码打印器将新语法树生成JavaScript代码。现有相关技术中,TypeScript编译器对TypesScript代码的转换主要是通过内置转换器实现的,TypeScript语言带有的静态类型信息转换到JavaScript后,由于JavaScript代码是弱类型语言,静态类型信息已经丢失。如果静态类型信息在转换为JavaScript代码后仍然可以保留,并且JavaScript的执行引擎支持去读取这部分类型信息,相比目前业界JavaScript引擎采取的类型检查和类型推导策略,通过已知的类型信息去执行JavaScript代码,可以达到整体性能优化的目的。
基于此,本申请实施例提供一种代码执行方法,该方法提出一种基于类型信息代码片段的插入方案,将TypeScript在转换过程中的静态类型信息通过符合JavaScript的代码片段插入到生成的JavaScript代码中,JavaScript执行引擎能够通过代码片段获取到类型信息,对执行过程中的JavaScript代码进行类型判断,减少引擎不必要的类型检查和推导,达到优化JavaScript执行性能的目的。
本申请实施例提供的代码执行方法可以应用于电子设备,其中,上述电子设备可以为智能手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)等设备;本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图2为本申请一个实施例提供的电子设备的结构示意图,如图2所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,DCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
为了便于理解,本申请以下实施例将以具有图2所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的代码执行方法进行具体阐述。
图3为本申请一个实施例提供的TypeScript代码到JavaScript代码的转换流程示意图,如图3所示,TypeScript源码会被解析为语法树,然后通过若干个转换器生成新的语法树,最后通过代码打印器将语法树生成JavaScript代码。转换器的本质是函数,函数通过接收语法树,返回转换后的新的语法树。自定义转换器可以生成定制的代码,比如:修改和/或删除代码中的变量以及注释等。
图3中自定义转换器分为before和after两个阶段,before阶段是位于内置转换器之前,即转换TypeScript代码之前;after阶段位于内置转换器之后。
本实施例中,在现有的TypeScript编译器中插入自定义转换器,自定义转换器遍历TypeScript语法树中的节点,筛选带有类型信息的节点,节点的类型信息可以通过TypeScript编译器中的TypeChecker直接获取,然后将类型信息插入JavaScript语法树,生成符合JavaScript代码规范的语法树,从而在最终生成的JavaScript代码中可以保留类型信息。
图4为本申请一个实施例提供的代码执行方法的流程图,如图4所示,上述代码执行方法可以包括:
步骤401,获取TypeScript代码。
举例来说,上述TypeScript代码可以如表1所示。
表1
步骤402,将上述TypeScript代码转换为TypeScript语法树。
以表1所示的TypeScript代码为例,表1所示的TypeScript代码转换的TypeScript语法树可以如表2所示。
表2
步骤403,从上述TypeScript语法树中查找属于预定节点类型的节点。
参见图3,自定义before转换器,可以遍历TypeScript语法树中的节点,筛选属于预定节点类型的节点。
上述预定节点类型可以在具体实现时自行设定,本实施例对上述预定节点类型的具体类型不作限定。图5为本申请一个实施例提供的预定节点类型的示意图,如图5所示,上述预定节点类型可以包括导入(Import)、导出(Export)、强转类型、特殊作用域,指令(Directive)、类(Class)、接口(Interface)、函数(Function)、枚举(Enum)、别名(TypeAlias)。
本实施例中,在表2所示的TypeScript语法树中进行查找,可以获得属于Class这一类型的节点Base。
步骤404,获取上述预定节点类型的类型信息。
具体地,获取上述预定节点类型的类型信息可以为:通过TypeScript编译器中的类型检查器获取上述预定节点类型的类型信息。
步骤405,按照上述预定节点类型定义的结构体方式,将上述类型信息插入上述TypeScript语法树。
进一步地,步骤405之前,还可以包括:将上述预定节点类型的类型信息定义为结构体,上述结构体可以包括上述预定节点类型的名字、修饰符、继承关系、泛型关系、内部属性和/或内部函数。具体地,上述结构体可以为JS对象简谱(JavaScript Object Notation,JSON)结构体,举例来说,Class的类型信息对应的JSON结构体可以如图6所示,图6为本申请一个实施例提供的JSON结构体的示意图。
这样,步骤405可以为:将上述结构体插入上述TypeScript语法树。
具体实现时,上述类型信息在上述TypeScript语法树中的插入位置可以根据上述节点在上述TypeScript语法树中的位置确定;举例来说,可以将上述类型信息插入上述TypeScript语法树中靠近上述节点的位置。
举例来说,在表2所示的TypeScript语法树中插入上述类型信息之后,获得的TypeScript语法树可以如表3所示。
表3
/>
表3中,用下划线标示的部分即为在表2所示的TypeScript语法树中插入的类型信息。表4所示的TypeScript语法树对应的TypeScript代码可以如表4所示。
表4
同样,表4中,用下划线标出的部分,即为在表1所示的TypeScript代码中插入的类型信息。从表4可以看出,将图6所示的JSON结构体字符串化,存储到addClass函数中,通过此种方式就可以将上述类型信息添加到TypeScript代码中。
另外,分别对比表1和表4,以及表2和表3可以看出,Class的类型信息被插入上述TypeScript语法树中靠近节点Base的位置。
步骤406,将插入上述类型信息之后的TypeScript语法树,转换为JavaScript语法树。
具体地,可以通过图3所示的内置转换器,将插入上述类型信息之后的TypeScript语法树,转换为JavaScript语法树。
步骤407,根据上述节点被使用的位置,将上述类型信息插入上述JavaScript语法树。
具体地,根据上述节点被使用的位置,将上述类型信息插入上述JavaScript语法树可以为:获取上述节点在上述JavaScript语法树中被使用的位置,根据上述JavaScript语法树中所述节点被使用的位置,确定上述类型信息在上述JavaScript语法树中的插入位置。然后,按照上述插入位置插入上述类型信息。具体实现时,按照上述插入位置插入上述类型信息可以为:按照引用方式,将上述类型信息插入上述插入位置。
其中,简单来说,上述类型信息在上述JavaScript语法树中的插入位置可以为上述JavaScript语法树中靠近上述节点被使用的位置。
具体实现时,参见图3,自定义After转换器可以在上述JavaScript语法树中靠近上述节点被使用的位置,按照引用方式,插入上述类型信息。
参见表1所示的TypeScript代码,变量a使用了节点Base,因此可以将Class的类型信息插入上述JavaScript语法树中靠近变量a的位置,如表5所示,表5示出了插入类型信息后的JavaScript语法树。
表5
/>
表5中,下划线标示的部分即为在JavaScript语法树中插入的类型信息。
步骤408,将插入上述类型信息的JavaScript语法树转换为JavaScript代码。
具体地,表5所示的JavaScript语法树转换的JavaScript代码可以如表6所示。
表6
从表6可以看出,将Class的类型信息通过setClass绑定到使用节点Base的变量a上,这样,就可以通过setClass找到Class的类型信息,即图6所示的结构体。
步骤409,执行上述JavaScript代码。
具体地,可以由JavaScript引擎执行上述JavaScript代码,执行上述JavaScript代码的过程中,JavaScript引擎可以通过插入JavaScript代码的代码片段获取到类型信息,从而可以根据获取的类型信息,确定执行过程中的JavaScript代码的类型,减少了JavaScript引擎不必要的类型检查和推导,提高了JavaScript的执行性能。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本申请所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法实施例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图7为本申请另一个实施例提供的电子设备的结构示意图,在采用对应各个功能划分各个功能模块的情况下,图7示出了上述实施例中涉及的电子设备700的一种可能的组成示意图,如图7所示,该电子设备700可以包括:接收单元701、处理单元702和发送单元703;
其中,处理单元702可以用于支持电子设备700执行步骤401~步骤409,和/或用于本申请实施例所描述的技术方案的其他过程;
需要说明的是,本申请图4所示方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备700,用于执行本申请图4所示实施例提供的代码执行方法,因此可以达到与上述方法相同的效果。
应当理解的是,电子设备700可以对应于图2所示的电子设备100。其中,处理单元702的功能可以由图1所示的电子设备100中的处理器110实现。
在采用集成的单元的情况下,电子设备700可以包括处理模块、存储模块和通信模块。
其中,处理模块可以用于对电子设备700的动作进行控制管理,例如,可以用于支持电子设备700执行上述接收单元701、处理单元702和发送单元703执行的步骤。存储模块可以用于支持电子设备700存储程序代码和数据等。通信模块,可以用于支持电子设备700与其他设备的通信。
其中,处理模块可以是处理器或控制器,其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片和/或Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备700可以为具有图2所示结构的设备。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请图4所示实施例提供的方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请图4所示实施例提供的方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种代码执行方法,其特征在于,包括:
获取TypeScript代码;
将所述TypeScript代码转换为TypeScript语法树;
从所述TypeScript语法树中查找属于预定节点类型的节点;
获取所述预定节点类型的类型信息;
按照所述预定节点类型定义的结构体方式,将所述类型信息插入所述TypeScript语法树;
将插入所述类型信息之后的TypeScript语法树,转换为JavaScript语法树;
根据所述节点被使用的位置,将所述类型信息插入所述JavaScript语法树;
将插入所述类型信息的JavaScript语法树转换为JavaScript代码;
执行所述JavaScript代码。
2.根据权利要求1所述的方法,其特征在于,所述获取所述预定节点类型的类型信息包括:
通过TypeScript编译器中的类型检查器获取所述预定节点类型的类型信息。
3.根据权利要求1所述的方法,其特征在于,所述类型信息在所述TypeScript语法树中的插入位置根据所述节点在所述TypeScript语法树中的位置确定。
4.根据权利要求1所述的方法,其特征在于,所述根据所述节点被使用的位置,将所述类型信息插入所述JavaScript语法树包括:
获取所述节点在所述JavaScript语法树中被使用的位置;
根据所述JavaScript语法树中所述节点被使用的位置,确定所述类型信息在所述JavaScript语法树中的插入位置;
按照所述插入位置插入所述类型信息。
5.根据权利要求4所述的方法,其特征在于,所述按照所述插入位置插入所述类型信息包括:
按照引用方式,将所述类型信息插入所述插入位置。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述按照所述预定节点类型定义的结构体方式,将所述类型信息插入所述TypeScript语法树之前,还包括:
将所述预定节点类型的类型信息定义为结构体,所述结构体包括所述预定节点类型的名字、修饰符、继承关系、泛型关系、内部属性和/或内部函数。
7.根据权利要求6所述的方法,其特征在于,所述按照所述预定节点类型定义的结构体方式,将所述类型信息插入所述TypeScript语法树包括:
将所述结构体插入所述TypeScript语法树。
8.一种代码执行装置,其特征在于,用于执行如权利要求1至7任一所述的方法。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
获取TypeScript代码;
将所述TypeScript代码转换为TypeScript语法树;
从所述TypeScript语法树中查找属于预定节点类型的节点;
获取所述预定节点类型的类型信息;
按照所述预定节点类型定义的结构体方式,将所述类型信息插入所述TypeScript语法树;
将插入所述类型信息之后的TypeScript语法树,转换为JavaScript语法树;
根据所述节点被使用的位置,将所述类型信息插入所述JavaScript语法树;
将插入所述类型信息的JavaScript语法树转换为JavaScript代码;
执行所述JavaScript代码。
10.根据权利要求9所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行所述获取所述预定节点类型的类型信息的步骤包括:
通过TypeScript编译器中的类型检查器获取所述预定节点类型的类型信息。
11.根据权利要求9所述的电子设备,其特征在于,所述类型信息在所述TypeScript语法树中的插入位置根据所述节点在所述TypeScript语法树中的位置确定。
12.根据权利要求9所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行所述根据所述节点被使用的位置,将所述类型信息插入所述JavaScript语法树的步骤包括:
获取所述节点在所述JavaScript语法树中被使用的位置;
根据所述JavaScript语法树中所述节点被使用的位置,确定所述类型信息在所述JavaScript语法树中的插入位置;
按照所述插入位置插入所述类型信息。
13.根据权利要求12所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行所述按照所述插入位置插入所述类型信息的步骤包括:
按照引用方式,将所述类型信息插入所述插入位置。
14.根据权利要求9-13任意一项所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行所述按照所述预定节点类型定义的结构体方式,将所述类型信息插入所述TypeScript语法树的步骤之前,还执行以下步骤:
将所述预定节点类型的类型信息定义为结构体,所述结构体包括所述预定节点类型的名字、修饰符、继承关系、泛型关系、内部属性和/或内部函数。
15.根据权利要求14所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行所述按照所述预定节点类型定义的结构体方式,将所述类型信息插入所述TypeScript语法树的步骤包括:
将所述结构体插入所述TypeScript语法树。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210573280.XA CN117149201A (zh) | 2022-05-24 | 2022-05-24 | 代码执行方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210573280.XA CN117149201A (zh) | 2022-05-24 | 2022-05-24 | 代码执行方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149201A true CN117149201A (zh) | 2023-12-01 |
Family
ID=88899362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210573280.XA Pending CN117149201A (zh) | 2022-05-24 | 2022-05-24 | 代码执行方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149201A (zh) |
-
2022
- 2022-05-24 CN CN202210573280.XA patent/CN117149201A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347269B (zh) | 一种空鼠模式实现方法及相关设备 | |
CN111552451B (zh) | 显示控制方法及装置、计算机可读介质及终端设备 | |
CN114490174B (zh) | 文件系统检测方法、电子设备及计算机可读存储介质 | |
CN114327312B (zh) | 投屏控制方法和装置 | |
CN113973398B (zh) | 无线网络连接方法、电子设备及芯片系统 | |
CN113473013A (zh) | 图像美化效果的显示方法、装置和终端设备 | |
CN113126948B (zh) | 一种音频播放方法及相关设备 | |
CN113504887A (zh) | 一种音量设置方法及电子设备 | |
CN113472861B (zh) | 一种文件传输方法及电子设备 | |
CN115103304B (zh) | 位置信息的调用方法及装置 | |
US20230342301A1 (en) | Method for Determining Physical Address and Chip System | |
CN113660369B (zh) | 来电处理及模型训练方法、装置、终端设备和存储介质 | |
CN114466238B (zh) | 帧解复用方法、电子设备及存储介质 | |
CN116133165A (zh) | 耳机连接系统、方法、耳机、电子设备及可读存储介质 | |
CN114079642B (zh) | 一种邮件处理方法及电子设备 | |
CN112956240B (zh) | 天线切换方法及装置 | |
CN116261124A (zh) | 数据传输方法、装置、电子设备和智能终端 | |
CN117149201A (zh) | 代码执行方法、装置和电子设备 | |
CN219834364U (zh) | 音频电路和终端设备 | |
CN115665632B (zh) | 音频电路、相关装置和控制方法 | |
CN116048769B (zh) | 内存回收方法、装置和终端设备 | |
CN115701120B (zh) | 电子设备和摄像头模组 | |
CN114338891B (zh) | 一种通信方法及装置 | |
CN116708317B (zh) | 数据包mtu的调整方法、装置和终端设备 | |
CN115619628B (zh) | 图像处理方法和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |