CN114546480B - 代码自动集成方法、设备和可读存储介质 - Google Patents
代码自动集成方法、设备和可读存储介质 Download PDFInfo
- Publication number
- CN114546480B CN114546480B CN202210440882.8A CN202210440882A CN114546480B CN 114546480 B CN114546480 B CN 114546480B CN 202210440882 A CN202210440882 A CN 202210440882A CN 114546480 B CN114546480 B CN 114546480B
- Authority
- CN
- China
- Prior art keywords
- code
- replaced
- file
- name
- function
- 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/71—Version control; Configuration management
-
- 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/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种代码自动集成方法、设备和可读存储介质,涉及计算机软件代码集成技术领域。其中,方法包括:将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上;在底层代码中,通过特殊标识语句识别待替换的头文件名的位置和函数名的位置;在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名。本发明实施例可以自动实现人工底层代码与Simulink代码的集成。
Description
技术领域
本发明实施例涉及计算机软件代码集成技术,尤其涉及一种代码自动集成方法、设备和可读存储介质。
背景技术
Simulink是MATLAB的重要组成部分,它为用户提供了一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,只需通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink同时支持线性和非线性、连续时间系统、离散时间系统、连续和混合系统建模且支持多进程。在当今的工程应用中,基于Simulink快速原型开发的嵌入式系统,相比较传统的软件开发模式,具有软件开发周期短和人为引入错误低等优势。
目前, Simulink并不支持底层驱动的接口,且一般的企业无法在短时间内将庞大的底层代码转化成Simulink的驱动外设,甚至有些产品为了满足功能安全,需要投入大量的资金来验证快速原型开发的可靠性。
有鉴于此,提出本发明。
发明内容
本发明实施例提供一种代码自动集成方法、设备和介质,以自动实现人工底层代码与Simulink代码的集成。
第一方面,本发明实施例提供了一种代码自动集成方法,包括:
将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上;
在底层代码中,通过特殊标识语句识别待替换的头文件名的位置和函数名的位置;
在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名。
第二方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现任一实施例所述的代码自动集成方法。
第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的代码自动集成方法。
本发明实施例通过将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上,从而保证执行底层代码时成功调用代码文件;通过在底层代码中,通过特殊标识语句识别待替换的头文件名的位置和函数名的位置,并将待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名,实现了Simulink模型与底层代码的集成,从而通过头文件名的替换,在底层代码中加载Simulink模型生成的代码文件,并在执行代码文件对应的函数名时运行Simulink模型。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种代码自动集成方法的流程图;
图2是本发明实施例提供的底层代码分割后的示意图;
图3是本发明实施例提供的代码组合后的示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供一种代码自动集成方法,其流程图如图1所示,可适用于将已经编写好的人工底层代码(简称底层代码)和Simulink代码进行集成的情况。本实施例由电子设备执行。
在执行本发明实施例之前,需要预先准备好需要集成的Simulink模型的嵌入式C代码和人工底层代码。其中,人工底层代码是指人工编写的被封装好的代码,该底层代码非常接近机器的编程,使用底层开发语言,一般为汇编语言或C语言,C++;开发方向主要是针对硬件方面的开发,例如接口程序,驱动程序,操作系统相关的程序。
具体的,通过Simulink生成Simulink模型的嵌入式C代码文件(以下简称为代码文件),为自动集成提供应用层代码提供了材料。人工底层代码开发比较成熟,且一般不会有较大的变更,故相对稳定,一般放置在固定的路径。结合图1,本实施例提供的方法具体包括:
S110、将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上。
执行S110的意义在于,执行底层代码时,会通过替换后的头文件和函数名调用代码文件,其搜索范围在底层代码工程的子文件内,从而保证代码文件被成功调用。
S120、在底层代码中,通过特殊标识语句识别待替换的头文件名的位置和函数名的位置。
本实施例不限定特殊标识语句的内容,应是matlab无法运行的语句,且能够标识待替换的头文件名的位置和待替换的函数名的位置。
优选的,在待替换的头文件名和函数名的前后均增加注释,作为特殊标识语句,之前增加的注释用于标识起始位置,之后增加的注释用于标识结束位置,相应的,扫描底层代码的每一行代码和注释;如果扫描到预设的头文件开始的注释和头文件结束的注释,将所述头文件开始的注释和头文件结束的注释之间的代码位置作为待替换的头文件名的位置;如果扫描到预设的函数名开始的注释和函数名结束的注释,将所述函数名开始的注释和函数名结束的注释之间的代码位置作为待替换的函数名的位置。
S130、在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名。
底层代码中除待替换的头文件名和函数名之外的其它代码保持不变。
本实施例提供的方法要求研发人员在编写底层代码时,不需要知道代码文件的文件名和对应的函数名,可以按照自己的逻辑编写待替换的头文件名和函数名,只是需要在待替换的头文件名和函数名的位置前后编写特殊标识语句,以便电子设备能够识别到需要替换的头文件名和函数名。
替换头文件名和函数名之后,matlab在运行集成后的代码时,会将Simulink模型生成的代码文件插入到头文件名的位置,通过函数名调用Simulink模型生成的代码文件。
可选的,在S130之前,还包括:根据代码文件的路径和固定后缀,读取所述代码文件的文件名,以便在S130处替换掉待替换的头文件名。
本发明实施例通过将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上,从而保证执行底层代码时成功调用代码文件;通过在底层代码中,通过特殊标识语句识别待替换的头文件名的位置和函数名的位置,并将待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名,实现了Simulink模型与底层代码的集成,从而通过头文件名的替换,在底层代码中加载Simulink模型生成的代码文件,并在执行代码文件对应的函数名时运行Simulink模型。
在一些实施例中,根据待替换的头文件名的位置和函数名的位置,将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名,包括:在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述底层代码分割为待替换的头文件名、待替换的函数名和其它代码;将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名,并与所述其它代码组合。
图2是本发明实施例提供的底层代码分割后的示意图,图3是本发明实施例提供的代码组合后的示意图。
图2中,根据头文件开始的注释和头文件结束的注释,将头文件名本身与前后代码分割开;根据函数名开始的注释和函数名结束的注释,将函数名本身与前后代码分割开,从而形成了其它代码1、头文件开始的注释2、待替换的头文件名3、头文件结束的注释4、其它代码5、函数名开始的注释6、待替换的函数名7、函数名结束的注释8、其它代码9。将待替换的头文件名3和待替换的函数名7分别替换后,按照替换前的顺序,将分割的9部分重新组合,形成新的底层代码,参见图3。
在一些实施例中,在S130之后还包括采用断言的方式反馈集成状态是否错误;如果错误,停止集成任务并重新集成。本实施例增加监控机制以防止在集成中发生不可预料的错误,并反馈机制提示研发人员。
在一些实施例中,将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上之前,还包括:配置集成工具的路径;响应于基于所述路径对所述集成工具进行调用,执行将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上的操作以及后续操作。
具体的,电子设备通过基于所述路径对所述集成工具进行调用,执行本发明上述实施例提供的S110~S130。可选的,如果没有配置集成工具,则需要研发人员重新配置。可选的,通过在集成工具中编写实现S110~S130的执行代码,实现代码自动集成方法。
优选的,为了完成集成工具的开发,编写了filePath、modelGenSrcfileCopy、fileSection、intrgrateFile、integrateProcess、count和setFileContent 这7 函数,都是matlab库函数,从而可以在matlab环境中被调用。在运行时不需要按照调用函数的顺序去排列matlab的类。在实际的自动集成过程中,研发人员需要输入AutomaticIntegrator.integrateProcess(gcs) matlab将自行完成整个集成任务。
IntegrateProcess(modelName)函数执行了将Simulink模型生成的代码文件向底层代码工程的子文件的路径的拷贝命令,以及找到底层代码(例如ISR.c文件),通过调用后续的函数完成所有自动集成的任务。其中,modelName为Simulink模型的名称。
下面将按照各个函数执行的次序展开说明。
将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上,包括:通过matlab的库函数modelGenSrcfileCopy将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上。
modelGenSrcfileCopy(modelName,destFolder)函数执行了获取filePath=getCodeGenFolfder(modelName)函数中的Simulink模型生成的代码文件所在的文件夹,完成代码文件的整体拷贝任务。其中,destFolder为删除被拷贝的代码文件。
在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述底层代码分割为待替换的头文件名、待替换的函数名和其它代码,包括:通过matlab的库函数fileApart在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述底层代码分割为待替换的头文件名、待替换的函数名和其它代码。
fileSection=fileApart(fileName)函数执行了通过识别特殊标识语句,并调用count函数读取底层代码,并将底层代码进行分割的任务。其中,fileName为底层代码文件。
所述将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名,并与所述其它代码组合,包括:通过matlab的库函数getFileContent执行底层代码文件的打开和读取,通过matlab的库函数setFileContent将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名,并与所述其它代码组合,替换打开的底层代码文件,关闭所述底层代码文件。
具体的,filePath=getCodeGenFolfder(modelName)函数执行了获取代码文件的文件名和路径,整合代码文件的固定后缀方式,得到实际的头文件名。
intrgrateFile(filename,modelName,fileSection)函数执行了通过判断fileSection函数的正误,采用断言的方式反馈集成错误的状态并终止集成任务。如果fileSection函数正确,使用count函数打开并读取底层代码文件中的代码,替换头文件名和函数名。
count = getFileContent(fileName)函数执行了底层代码文件的打开和内容读取的任务。
setFileContent(filename,count)函数执行了底层代码文件打开,使用替换后的代码替换原先的底层代码文件中的代码,最后保存并关闭底层代码文件的任务。
集成完成后,提示集成后的代码的版本号是否需要更新,例如将是否需要更新的信息显示在maltab的界面上,研发人员可以在界面上输入新版本号。然后,电子设备获取研发人员输入的新版本号,并将所述新版本号作为所述集成后的代码的版本号。
在一具体实施方式中,通过调用warndlg函数和sprintf函数提示集成后的代码的版本号是否需要更新,如果集成成功,弹出warndlg弹框,sprintf函数将信息显示在框内。信息可以是“版本号是否需要更新”,还可以写入其它信息,例如集成人员的信息,时间等。
综合上述各实施例,达到以下技术效果:
1.降低代码在频繁移植集成时出错的概率;
2.降低代码集成出错的研发成本,解放研发人员无意义的劳动时间,投入于有效实际的研发中。
需要说明的是,上述实施例提供的代码自动集成方法,需要调用多个函数实现,该多个库函数已经是根据实际需求固化形成,研发人员直接调用即可,不需要重新编写。
图4为本发明实施例提供的一种电子设备的结构示意图,如图4所示,该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的代码自动集成方法对应的程序指令/模块。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的代码自动集成方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例的代码自动集成方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案。
Claims (9)
1.一种代码自动集成方法,其特征在于,包括:
将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上;
在底层代码中,通过特殊标识语句识别待替换的头文件名的位置和函数名的位置;
通过matlab的库函数fileApart在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述底层代码分割为待替换的头文件名、待替换的函数名和其它代码;
通过matlab的库函数getFileContent执行底层代码文件的打开和读取,通过matlab的库函数setFileContent将所述待替换的头文件名替换为所述代码文件的文件名,以及将所述待替换的函数名替换为所述代码文件对应的函数名,并与所述其它代码组合,替换打开的底层代码文件,关闭所述底层代码文件。
2.根据权利要求1所述的方法,其特征在于,所述在底层代码中,通过特殊标识语句识别待替换的头文件名的位置和函数名的位置,包括:
扫描底层代码的每一行代码和注释;
如果扫描到预设的头文件开始的注释和头文件结束的注释,将所述头文件开始的注释和头文件结束的注释之间的代码位置作为待替换的头文件名的位置;
如果扫描到预设的函数名开始的注释和函数名结束的注释,将所述函数名开始的注释和函数名结束的注释之间的代码位置作为待替换的函数名的位置。
3.根据权利要求1所述的方法,其特征在于,在所述通过matlab的库函数fileApart在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述底层代码分割为待替换的头文件名、待替换的函数名和其它代码之前,还包括:
根据代码文件的路径和固定后缀,读取所述代码文件的文件名。
4.根据权利要求1所述的方法,其特征在于,在所述通过matlab的库函数fileApart在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述底层代码分割为待替换的头文件名、待替换的函数名和其它代码之后,还包括:
采用断言的方式反馈集成状态是否错误;
如果错误,停止集成任务并重新集成。
5.根据权利要求1所述的方法,其特征在于,所述将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上,包括:
通过matlab的库函数modelGenSrcfileCopy将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上。
6.根据权利要求1所述的方法,其特征在于,将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上之前,还包括:
配置集成工具的路径;
响应于基于所述路径对所述集成工具进行调用,执行将Simulink模型生成的代码文件拷贝到底层代码工程的子文件的路径上的操作以及后续操作。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述通过matlab的库函数fileApart在所述底层代码中根据待替换的头文件名的位置和函数名的位置,将所述底层代码分割为待替换的头文件名、待替换的函数名和其它代码之后,还包括:
提示集成后的代码的版本号是否需要更新;
获取研发人员输入的新版本号,并将所述新版本号作为所述集成后的代码的版本号。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的代码自动集成方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的代码自动集成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440882.8A CN114546480B (zh) | 2022-04-26 | 2022-04-26 | 代码自动集成方法、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440882.8A CN114546480B (zh) | 2022-04-26 | 2022-04-26 | 代码自动集成方法、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114546480A CN114546480A (zh) | 2022-05-27 |
CN114546480B true CN114546480B (zh) | 2022-08-19 |
Family
ID=81666635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210440882.8A Active CN114546480B (zh) | 2022-04-26 | 2022-04-26 | 代码自动集成方法、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546480B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9952837B1 (en) * | 2015-04-01 | 2018-04-24 | The Mathworks, Inc. | Reusable component in a modeling environment |
CN110058861A (zh) * | 2019-04-19 | 2019-07-26 | 同盾控股有限公司 | 源码处理方法及装置、存储介质、电子设备 |
CN111273942A (zh) * | 2018-12-04 | 2020-06-12 | 武汉斗鱼网络科技有限公司 | 一种代码生成方法、存储介质、电子设备及系统 |
CN113391817A (zh) * | 2021-06-16 | 2021-09-14 | 中国海洋大学 | 基于antlr4的头文件替换方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8015543B1 (en) * | 2007-01-10 | 2011-09-06 | The Mathworks, Inc. | Hardware specific code generation |
US9170790B2 (en) * | 2012-12-06 | 2015-10-27 | International Business Machines Corporation | Replacing annotated program code in a networked computing environment |
CN104063208B (zh) * | 2013-03-21 | 2017-11-17 | 北京百度网讯科技有限公司 | 代码文件的优化方法、系统和服务器 |
CN105739981B (zh) * | 2016-01-28 | 2020-03-06 | 厦门飞信网络科技有限公司 | 一种代码补全实现方法、装置和计算设备 |
CN109002290B (zh) * | 2018-10-15 | 2022-10-25 | 昆明理工鼎擎科技股份有限公司 | 一体化ecu嵌入式目标代码自动生成器及自动生成方法 |
-
2022
- 2022-04-26 CN CN202210440882.8A patent/CN114546480B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9952837B1 (en) * | 2015-04-01 | 2018-04-24 | The Mathworks, Inc. | Reusable component in a modeling environment |
CN111273942A (zh) * | 2018-12-04 | 2020-06-12 | 武汉斗鱼网络科技有限公司 | 一种代码生成方法、存储介质、电子设备及系统 |
CN110058861A (zh) * | 2019-04-19 | 2019-07-26 | 同盾控股有限公司 | 源码处理方法及装置、存储介质、电子设备 |
CN113391817A (zh) * | 2021-06-16 | 2021-09-14 | 中国海洋大学 | 基于antlr4的头文件替换方法及装置 |
Non-Patent Citations (2)
Title |
---|
LPM-Turbo Decoding Structure Based on Simulink;Xiangling Li et.al;《2010 6th International Conference on Wireless Communications Networking and Mobile Computing (WiCOM)》;20101231;全文 * |
Matlab/RTW面向EC MC9S12D64的自动代码生成;杨润泽;《单片机与嵌入式系统集成》;20141231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114546480A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020134633A1 (zh) | 一种应用程序的开发方法、装置及集成开发工具 | |
US20120167055A1 (en) | Efficiently developing software using test cases to check the conformity of the software to the requirements | |
CN108874649B (zh) | 自动化测试脚本的生成方法、装置及其计算机设备 | |
CN110659197B (zh) | 应用程序的测试用例生成方法、装置和软件测试系统 | |
CN104375934A (zh) | 一种Android手机软件可靠性测试方法 | |
CN104320793B (zh) | 一种手机短信自动化测试方法及系统 | |
CN109284126B (zh) | 类库自动更新方法、装置、电子设备、存储介质 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN110688145A (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
US10459698B2 (en) | Framework for generating adapters in an integrated development environment | |
CN109284222B (zh) | 软件单元、数据处理系统中的项目测试方法、装置及设备 | |
CN115357289A (zh) | 寄存器应用信息生成方法、装置、电子设备和存储介质 | |
CN106951593B (zh) | 一种生成保护测控装置的配置文件的方法和装置 | |
US11676114B2 (en) | Automated control of distributed computing devices | |
KR101409528B1 (ko) | Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
Burger et al. | A change metamodel for the evolution of MOF-based metamodels | |
KR20150066377A (ko) | Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법 | |
CN110888641B (zh) | 一种脚本自动生成方法、装置、服务器及存储介质 | |
CN114546480B (zh) | 代码自动集成方法、设备和可读存储介质 | |
CN111581051A (zh) | 基于web前端的系统运行日志处理方法、装置、设备及介质 | |
CN112181483B (zh) | 等离子体控制系统软件开发平台及方法 | |
CN115080416A (zh) | 基于业务代码的测试方法及其相关设备 | |
CN114741159A (zh) | 业务处理方法及装置、存储介质、电子设备 | |
CN113901025A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |