CN113535230B - 一种工程源码动态自适应不同硬件资源的方法及系统 - Google Patents
一种工程源码动态自适应不同硬件资源的方法及系统 Download PDFInfo
- Publication number
- CN113535230B CN113535230B CN202110636728.3A CN202110636728A CN113535230B CN 113535230 B CN113535230 B CN 113535230B CN 202110636728 A CN202110636728 A CN 202110636728A CN 113535230 B CN113535230 B CN 113535230B
- Authority
- CN
- China
- Prior art keywords
- file
- makefile
- source code
- bsp
- compiling
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本申请提供一种工程源码动态自适应不同硬件资源的方法及系统,基于Xilinx SDK,通过修改Xilinx SDK的配置,修改并添加MAKEFILE文件,利用脚本文件在程序编译前自动识别需要编译的工程源码等步骤,使同一份工程源码自适应不同的硬件资源,自适应不同的BSP,实现了不同硬件资源的产品在软件开发源码上保持一致,使软件工程师对单一产品源码开发能第一时间应用到其他产品,提高了软件开发效率及产品的维护效率,也根本解决了不同产品之间源码移植容易出现差错的问题。
Description
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种工程源码动态自适应不同硬件资源的方法及系统,以及一种在不同硬件资源中编译同一工程源码的方法。
背景技术
BSP(board support package,板级支持包),是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好地运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。
一个SDK(软件开发工具包)工程通常由三个部分组成:硬件定义(HardwareDefinition),其定义了系统的硬件部分,文件名中包含hw;板级支持包(BSP),包含了设计中支持IP块所需要的驱动程序;应用程序(APP),软件应用程序。
现有的软件架构中,不同产品使用的硬件资源不同,导致硬件平台不同、BSP不同以及系统资源不同,因此不同的产品需要建立不同的项目工程。当不同产品服务对象相同时,实现的功能共性较大,产品软件源代码除去部分特殊处理,其实现大致相同。然而,目前的同一份工程源码并不能适用于不同的硬件资源,利用不同硬件资源的产品在软件开发源码上不能保持一致。由此会带来以下问题:
1)不同产品之间的代码难以共用,不能第一时间将所有产品的软件代码同步,延缓了不同产品的同步升级;
2)不同产品之间移植代码,容易存在移植代码出现差错的现象,使得不同产品之间的代码不具有一致性;
3)一人对不同产品进行相同功能的维护开发或维护升级,增加了程序员的工作任务量。
因此,现有技术中的软件架构还有待调整,以使得软件工程师对单一产品源码开发能第一时间应用到其他产品,提高开发效率,也从根本解决不同产品之间源码移植出现差错的问题。
发明内容
针对上述现有技术,本申请提供一种工程源码动态自适应不同硬件资源的方法,基于Xilinx SDK,Ubuntu系统(或Windows系统),使同一份工程源码自适应不同的硬件资源以及不同的BSP,实现了不同硬件资源的产品在软件开发源码上保持一致,提高了软件开发效率及产品的维护效率。
为实现上述目的,本发明采用以下技术方案:
本申请第一个方面提供了一种工程源码动态自适应不同硬件资源的方法,优选为一种基于Xilinx SDK的工程源码动态自适应不同硬件资源的方法。
本申请所述的一种工程源码动态自适应不同硬件资源的方法,包括:
修改Xilinx SDK的配置,使其支持动态编译;
修改并添加MAKEFILE文件,包括:
添加makefile.mk文件,指定机具产品型号;
添加makefile.init文件,进行BSP的选择和动态编译宏、BSP头文件夹及linkerscript的赋值,编译前预处理;
添加makefile.defs,选择BSP库文件;
添加脚本文件,在程序编译前自动识别需要编译的工程源码;
更改工程源码,提取不同产品共同源码并兼容不同产品特有源码,通过预编译宏选择性编译不同产品特有源码。
优选地,所述修改Xilinx SDK的配置,包括以下配置动态编译选项的步骤:
使BSP头文件夹支持动态指引;
使linker script支持动态指引;
添加预编译宏编译不同的BSP;
设置编译关键字。
优选地,所述添加脚本文件,在程序编译前自动识别需要编译的工程源码,包括:添加make.sh文件,该文件通过检测make.mk是否发生改变,决定是否重新编译工程源码。
优选地,所述方法基于Ubuntu操作系统或Windows操作系统。
本申请第二个方面提供了一种在不同硬件资源中编译同一工程源码的方法,包括:
读取makefile.mk文件,获取机具产品型号;
读取makefile.init文件,确定BSP编译宏、BSP头文件,以及linker script;执行脚本文件make.sh,该脚本文件通过检测makefile.mk文件是否发生改变,判断是否重新编译工程源码;
当确认所述makefile.mk文件发生改变时,清除编译过程中产生的编译文件后,再读取makefile.defs文件,添加对应的BSP库文件;否则,直接读取makefile.defs文件,添加对应的BSP库文件;
编译,生成与产品相对应的可执行文件。
本申请第三个方面提供了一种工程源码动态自适应不同硬件资源的系统,包括:
动态编译配置单元,用于修改Xilinx SDK的配置,配置动态编译选项;MAKEFILE文件添加单元,用于修改并添加MAKEFILE文件,所述MAKEFILE文件包括:
makefile.mk文件,用于指定机具产品型号;
makefile.init文件,用于BSP的选择和动态编译宏、BSP头文件夹及linkerscript的赋值,编译前预处理;
makefile.defs,用于BSP库文件的选择;
自动识别单元,用于利用脚本文件,在程序编译前自动识别需要编译的工程源码;工程源码更改单元,用于提取不同产品共同源码并兼容不同产品特有源码,通过预编译宏选择性编译不同产品特有源码。
优选地,所述动态编译选项,包括:
BSP头文件夹,被配置为支持动态指引;
linker script,被配置为支持动态指引;
预编译宏,被配置为编译不同的BSP;
编译关键字,被配置为自定义名称。
优选地,所述系统基于Ubuntu操作系统或Windows操作系统。
本申请第四方面提供了一种计算机终端,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面中任意一项所述的一种工程源码动态自适应不同硬件资源的方法。
本申请第五方面提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行可实现如第一方面中任意一项所述的一种工程源码动态自适应不同硬件资源的方法。
与现有技术相比,本发明的技术方案具有以下有益效果:
本申请提供一种工程源码动态自适应不同硬件资源的方法及系统,以及一种在不同硬件资源中编译同一工程源码的方法,基于Xilinx SDK,Ubuntu系统(或Windows系统),使同一份工程源码自适应不同的硬件资源,自适应不同的BSP,实现了不同硬件资源的产品在软件开发源码上保持一致,使软件工程师对单一产品源码开发能第一时间应用到其他产品中,提高了软件开发的效率及产品的维护效率,也根本解决了不同产品之间源码移植容易出现差错的问题。
附图说明
构成本申请的一部分附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明优选实施例中使BSP头文件夹支持动态指引的配置示意图;
图2是本发明优选实施例中使linker script支持动态指引的配置示意图;
图3是本发明优选实施例中添加预编译宏编译不同BSP的配置示意图;
图4是本发明优选实施例中指定编译关键字的配置示意图;
图5是本发明选实施例中的工程源码的编译自适应流程图;
图6是本发明软件架构调整前的流程示意图;
图7是本发明软件架构调整后的流程示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供一种工程源码动态自适应不同硬件资源的方法,基于XilinxSDK,Ubuntu系统,使同一份工程源码自适应不同的硬件资源,自适应不同的BSP,实现了不同硬件资源的产品在软件开发源码上保持一致,提高了软件开发的效率及产品的维护效率。
在本实施例中,基于Xilinx SDK,Ubuntu系统。
一种工程源码动态自适应不同硬件资源的方法,包括如下步骤:
步骤S1:修改SDK相关配置,配置动态编译选项,具体包括:
1、使BSP头文件夹支持动态指引,参阅图1;
2、使linker script支持动态指引,参阅图2;
3、添加预编译宏编译不同BSP,参阅图3;
4、指定编译关键字为adaptivebuild,其中,“adaptivebuild”为自定义名字。
步骤S2:修改并添加MAKEFILE相关文件。
1、添加makefile.mk文件,用于指定机具产品型号,例如:
#机型选择#
MACHINE_GA3201:=1
MACHINE_GATCR:=0
MACHINE_GADCJ_A5:=0
MACHINE_GA4301_A3:=0
MACHINE_GA2101:=0
MACHINE_GA019A6:=0
2、添加makefile.init文件,该文件用于板级支持包的选择和动态编译宏、BSP头文件夹及linker script的赋值,编译前预处理。以下为文件内容的部分截取:
-include../makefile.mk
#Don't Edit this line
Dsymbols:=defline
#板级支持包选择;机型宏定义选择
#select the defined symbols of machines;BSP select
ifneq($(MACHINE_GATCR),1)
ifneq($(MACHINE_GADCJ_A5),1)
ifneq($(MACHINE_GA4301_A3),1)
ifneq($(MACHINE_GA2101),1)
ifneq($(MACHINE_GA019A6),1)
ifeq($(MACHINE_GA3201),1)
#板级支持包选择
#BSP select
GA0080_bsp_DDR1 G:=1
GA0076_bsp_DDR512M:=0
Dsymbols+=-DGA3201=1
endif
endif
endif
endif
endif
endif
ifneq($(GA0076_bsp_DDR512M),1)
ifeq($(GA0080_bsp_DDR1 G),1)
Dsymbols+=-DGA0080_bsp_DDR1 G=1
INC:=../ga_zynq_hw_platform/GA0080_bsp_DDR1 G/ps7_cortexa9_1/include
lscript:=../ga_zynq_sh/lscript_GA0080_bsp_DDR1 G.ld
endif
endif
adaptivebuild:pre-make
@make-j9 AdapName.elf secondary-outputs
pre-make:
@sh../ga_zynq_sh/make.sh
@echo”
3、添加makefile.defs,用于BSP库文件的选择。以下为文件内容部分截取:
ifneq($(GA0076_bsp_DDR512M),1)
ifeq($(GA0080_bsp_DDR1 G),1)
LIBS+=
-L../../ga_zynq_hw_platform/GA0080_bsp_DDR1 G/ps7_cortexa9_1/lib
endif
endif
步骤S3:借助Ubuntu系统,利用脚本文件,在程序编译前自动识别需要编译的工程源码。
具体地,添加make.sh文件,该文件通过检测make.mk是否发生改变,决定是否重新编译工程源码,例如:
#!/bin/bash
echo$PWD
getmd5sum=$(md5sum-c../makefile.mk.md5&&echo"ga_ok"||echo"ga_no")
checkmd5sum="ga_no"
if[[$getmd5sum=~$checkmd5sum]];then
CORES=`getconf_NPROCESSORS_CONF`
make-j$CORES clean
md5sum../makefile.mk>../makefile.mk.md5
fi
步骤S4:更改工程源码,提取不同产品共同源码并兼容不同产品特有源码,通过预编译宏选择性编译不同产品特有源码。
上述工程源码的编译自适应流程图请参阅图5。
具体地,一种在不同硬件资源中编译同一工程源码的方法,包括:
读取makefile.mk文件,获取机具产品型号,确定产品宏定义;
读取makefile.init文件,确定BSP编译宏、BSP头文件,以及linker script;
执行脚本文件make.sh;
该脚本文件通过检测makefile.mk文件是否发生改变,判断是否重新编译工程源码;
当确认所述makefile.mk文件发生改变时,清除编译过程中产生的编译文件后,再读取makefile.defs文件,添加对应的BSP库文件;
否则,直接读取makefile.defs文件,添加对应的BSP库文件;
执行正常的编译流程;
生成与产品相对应的可执行文件。
上述的编译方法中,makfile.mk文件不发生改变,则不需要清除编译文件。由于工程代码量较大,重新编译时间较长,因此通过识别makefile.mk文件是否发生改变来决定是否需要重新编译。当清除编译文件后,自动重新编译工程源码;不清除编译文件,仅编译修改源码涉及的部分。
参阅图6和图7所示。其中,图6是软件架构调整前、现有技术中的不同产品分别独立地对应一个项目工程,每个项目工程独立地使用一份工程源码的流程示意图;图7是采用本申请的方法对软件架构调整后的流程示意图。
对比软件架构调整前可知,采用本申请的方法,可以使同一份工程源码自适应不同的硬件资源,自适应不同的BSP,使利用不同硬件资源的产品在软件开发源码上保持一致,使软件工程师对单一产品源码开发能第一时间应用到其他产品,提高了软件开发的效率及产品的维护效率,也根本解决了不同产品之间源码移植容易出现差错的问题,同时,还可以使公司不同产品源码的统一管理更加便利。
作为另一方面,本申请还提供了一种工程源码动态自适应不同硬件资源的系统,包括:
动态编译配置单元,用于修改Xilinx SDK的配置,配置动态编译选项,所述动态编译选项,包括:
BSP头文件夹,被配置为支持动态指引;
linker script,被配置为支持动态指引;
预编译宏,被配置为编译不同的BSP;
编译关键字,被配置为自定义名称;
MAKEFILE文件添加单元,用于修改并添加MAKEFILE文件,所述MAKEFILE文件包括:
makefile.mk文件,用于指定机具产品型号;
makefile.init文件,用于BSP的选择和动态编译宏、BSP头文件夹及linkerscript的赋值,编译前预处理;
makefile.defs,用于BSP库文件的选择;
自动识别单元,用于利用脚本文件,在程序编译前自动识别需要编译的工程源码;工程源码更改单元,用于提取不同产品共同源码并兼容不同产品特有源码,通过预编译宏选择性编译不同产品特有源码。
需要说明的是,本申请公开的方法和系统,也适用于Windows操作系统。
作为另一方面,本申请还提供了一种计算机终端,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面中任意一项所述的一种工程源码动态自适应不同硬件资源的方法。
作为又一方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行上述的一种工程源码动态自适应不同硬件资源的方法。
以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。
Claims (8)
1.一种工程源码动态自适应不同硬件资源的方法,其特征在于,包括:
修改Xilinx SDK的配置,使其支持动态编译;
修改并添加MAKEFILE文件,包括:
添加makefile.mk文件,指定机具产品型号;
添加makefile.init文件,进行BSP的选择和动态编译宏、BSP头文件夹及linkerscript的赋值,编译前预处理;所述makefile.init文件调用makefile.mk文件;
添加makefile.defs,选择BSP库文件;
添加脚本文件,在程序编译前自动识别需要编译的工程源码,包括:
添加make.sh文件,执行脚本文件make.sh,该脚本文件通过检测makefile.mk文件是否发生改变,判断是否重新编译工程源码,当确认所述makefile.mk文件发生改变时,清除编译过程中产生的编译文件后,再读取makefile.defs文件,添加对应的BSP库文件;否则,直接读取makefile.defs文件,添加对应的BSP库文件;
更改工程源码,提取不同产品共同源码并兼容不同产品特有源码,通过预编译宏选择性编译不同产品特有源码;
对工程源码进行编译,包括:
读取makefile.mk文件,获取机具产品型号;
读取makefile.init文件,确定BSP编译宏、BSP头文件,以及linker script;
执行脚本文件make.sh,该脚本文件通过检测makefile.mk文件是否发生改变,判断是否重新编译工程源码;
当确认所述makefile.mk文件发生改变时,清除编译过程中产生的编译文件后,再读取makefile.defs文件,添加对应的BSP库文件;否则,直接读取makefile.defs文件,添加对应的BSP库文件;
执行编译流程,生成与产品相对应的可执行文件。
2.根据权利要求1所述的一种工程源码动态自适应不同硬件资源的方法,其特征在于,所述修改Xilinx SDK的配置,包括以下配置动态编译选项的步骤:
使BSP头文件夹支持动态指引;
使linker script支持动态指引;
添加预编译宏编译不同的BSP;
设置编译关键字。
3.根据权利要求1所述的一种工程源码动态自适应不同硬件资源的方法,其特征在于,所述方法基于Ubuntu操作系统或Windows操作系统。
4.一种工程源码动态自适应不同硬件资源的系统,其特征在于,包括:
动态编译配置单元,用于修改Xilinx SDK的配置,配置动态编译选项;
MAKEFILE文件添加单元,用于修改并添加MAKEFILE文件,所述MAKEFILE文件包括:
makefile.mk文件,用于指定机具产品型号;
makefile.init文件,用于BSP的选择和动态编译宏、BSP头文件夹及linker script的赋值,编译前预处理;所述makefile.init文件调用makefile.mk文件;
makefile.defs,用于BSP库文件的选择;
自动识别单元,用于利用make.sh脚本文件,在程序编译前自动识别需要编译的工程源码,该脚本文件通过检测makefile.mk文件是否发生改变,判断是否重新编译工程源码,当确认所述makefile.mk文件发生改变时,清除编译过程中产生的编译文件后,再读取makefile.defs文件,添加对应的BSP库文件;否则,直接读取makefile.defs文件,添加对应的BSP库文件;
工程源码更改单元,用于提取不同产品共同源码并兼容不同产品特有源码,通过预编译宏选择性编译不同产品特有源码。
5.根据权利要求4所述的一种工程源码动态自适应不同硬件资源的系统,其特征在于,所述动态编译选项,包括:
BSP头文件夹,被配置为支持动态指引;
linker script,被配置为支持动态指引;
预编译宏,被配置为编译不同的BSP;
编译关键字,被配置为自定义名称。
6.根据权利要求4所述的一种工程源码动态自适应不同硬件资源的系统,其特征在于,所述系统基于Ubuntu操作系统或Windows操作系统。
7.一种计算机终端,其特征在于,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1~3中任意一项所述的一种工程源码动态自适应不同硬件资源的方法。
8.一种计算机可读介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行可实现如权利要求1~3中任意一项所述的一种工程源码动态自适应不同硬件资源的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110636728.3A CN113535230B (zh) | 2021-06-07 | 2021-06-07 | 一种工程源码动态自适应不同硬件资源的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110636728.3A CN113535230B (zh) | 2021-06-07 | 2021-06-07 | 一种工程源码动态自适应不同硬件资源的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535230A CN113535230A (zh) | 2021-10-22 |
CN113535230B true CN113535230B (zh) | 2022-09-23 |
Family
ID=78095665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110636728.3A Active CN113535230B (zh) | 2021-06-07 | 2021-06-07 | 一种工程源码动态自适应不同硬件资源的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535230B (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337436B2 (en) * | 2003-02-07 | 2008-02-26 | Sun Microsystems, Inc. | System and method for cross platform and configuration build system |
CN101271389B (zh) * | 2008-04-08 | 2010-06-02 | 江苏科技大学 | 嵌入式藏文智能信息处理方法 |
CN101697125B (zh) * | 2009-11-04 | 2013-05-08 | 中兴通讯股份有限公司 | 一种开发环境转换的方法及装置 |
CN104572231B (zh) * | 2013-10-23 | 2018-09-18 | 航天信息股份有限公司 | 不同操作平台之间的工程移植方法和装置 |
CN105630470B (zh) * | 2014-10-31 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 代码共建方法、系统、源码服务器及开放服务器 |
US9836286B2 (en) * | 2015-03-27 | 2017-12-05 | Ca, Inc. | Co-existential wrapping system for mobile applications |
CN106250123B (zh) * | 2016-07-26 | 2019-12-03 | 安徽皖通邮电股份有限公司 | 一种系统测试模式和运行模式兼容方法 |
GB2581070A (en) * | 2017-10-17 | 2020-08-05 | Appdome Ltd | Automated mobile application integration |
CN209514597U (zh) * | 2018-09-25 | 2019-10-18 | 上海古鳌电子科技股份有限公司 | 一种基于iap的升级系统 |
US10846081B2 (en) * | 2019-04-11 | 2020-11-24 | Mastercard International Incorporated | System and method for code synchronization between mainframe environment and distributed environment |
CN111399847A (zh) * | 2020-03-17 | 2020-07-10 | 成都千立网络科技有限公司 | 一种可跨硬件平台移植的业务系统 |
CN111400102B (zh) * | 2020-03-18 | 2024-06-18 | 深圳前海微众银行股份有限公司 | 应用程序的变更监控方法、装置、设备及存储介质 |
CN112148297A (zh) * | 2020-08-26 | 2020-12-29 | 广州市保伦电子有限公司 | 一种服务器智能加密打包方法和装置 |
CN112860316B (zh) * | 2021-02-08 | 2024-03-08 | 中科院软件研究所南京软件技术研究院 | openEular开源系统的内核及BSP移植方法 |
-
2021
- 2021-06-07 CN CN202110636728.3A patent/CN113535230B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113535230A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5897816B2 (ja) | 依存性グラフのパラメータのスコーピング | |
US7406684B2 (en) | Compiler, dynamic compiler, and replay compiler | |
CN104714788B (zh) | 一种软件安装包自动生成的方法及装置 | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN111736954B (zh) | 多智能合约虚拟机实现方法、多智能合约虚拟机及系统 | |
CN108897547B (zh) | 一种软件自动化部署方法及装置 | |
JPH0836488A (ja) | ダイナミック・パッチングを使用するランタイム・エラー・チェック方法と装置 | |
CN106648755B (zh) | 一种在安卓art环境中动态加载dex的方法及装置 | |
CN110955431A (zh) | 编译环境的处理方法及装置 | |
CN101957766B (zh) | 一种字节码织入方法、装置及系统 | |
CN112882718B (zh) | 编译处理方法、装置、设备及存储介质 | |
CN108829465B (zh) | 一种基于直接读写flash的本地动态加载系统及方法 | |
CN109670299A (zh) | 一种创建Python沙盒环境的方法及电子设备 | |
CN110083360A (zh) | 一种应用程序代码的编译方法、装置、设备及存储介质 | |
US7376935B2 (en) | Design-time system and method to enable programming assistance across languages and compilation boundaries | |
CN101021812A (zh) | 解释语言调试方法及装置 | |
CN113220326B (zh) | 智能合约升级方法及区块链系统 | |
CN117075960B (zh) | 程序重构方法、应用跨平台迁移方法、装置与计算设备 | |
CN103560934A (zh) | 一种电力猫生产测试方法及装置 | |
CN109558121A (zh) | 接口驱动程序的开发方法、装置、设备及存储介质 | |
CN113535230B (zh) | 一种工程源码动态自适应不同硬件资源的方法及系统 | |
CN112415943A (zh) | 一种io端口配置装置、方法和plc组态软件 | |
KR100818919B1 (ko) | 메소드 호출 방법 및 이를 이용한 자바 가상 머신 | |
CN115658140A (zh) | 一种sdk的打包方法、装置、终端以及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |