一种基础软件集成方法及系统与流程

文档序号:16207142发布日期:2018-12-08 07:15阅读:406来源:国知局
一种基础软件集成方法及系统与流程

本申请涉及汽车工程领域控制器软件集成的方法,特别是涉及一种基础软件集成方法及系统。

背景技术

在汽车工程领域,控制器软件通常包括应用软件和基础软件,而应用软件和基础软件通常是独立开发的,因此,在控制器开发过程中,需要将应用软件与基础软件进行集成才能形成控制器软件,即将应用软件代码和基础软件代码集成,以形成控制权软件代码。

目前,应用软件往往由用户在matlab的simulink组件中搭建应用软件模型实现,该部分模型可通过simulinkcoder自动生成代码,而底层驱动、通信协议栈等基础软件通常为软件供应商提供的手写代码,因此,在控制器开发过程中,需要用户将simulinkcoder生成的代码与基础软件的手写代码进行集成,传统的软件集成由用户采用手工方式进行集成,具体为:

将simulinkcoder生成的应用软件代码复制到工程路径下;将基础软件的手写代码复制到所述工程路径下,并找到与基础软件对应的参数配置文件,在参数配置文件中修改相应的参数。

打开编译器,将上述两部分代码加入到编译器中;

在应用软件代码中,找到需要调用基础软件的位置,在该位置写上用于调用基础软件的调用代码;

点击开始编译按键对编译器中的代码进行编译,生成目标文件。

由于matlab生成的代码有很大的冗余,因此其可读性差,加之基础软件架构日益复杂,使得传统手工集成难度高,工作量大。



技术实现要素:

为解决上述技术问题,本申请实施例提供一种基础软件集成方法及系统,以降低软件集成难度,降低软件集成的工作量。

技术方案如下:

一种基础软件集成方法及系统,所述方法包括:依据接收的连接指令将预先选择的至少一个基础软件函数模块连接至应用软件模型的相应位置,生成控制器软件模型;接收输入的功能配置参数,所述功能配置参数至少包括基础软件的功能参数;接收代码生成指令;依据所述功能配置参数生成与各个基础软件相对应的配置文件;生成所述应用软件模型的应用软件源代码;

依据预设的控制逻辑生成与各个基础软件函数模块相对应的,用于调用相应的基础软件代码的调用代码;

依据预设的与控制器软件相对应的应用程序逻辑确定各个调用代码在所述应用软件源代码中的位置;将所述各个调用代码添加至所述应用软件源代码的相应位置,得到应用软件初级代码;

调用编译器,将所述应用软件初级代码、各个基础软件代码,以及所述与各个基础软件相对应的配置文件添加至所述编译器中;控制所述编译器对所述编译器内的代码进行编译,生成目标文件。

上述方法,优选的,所述基础软件函数模块包括接口函数模块和/或回调函数模块。

上述方法,优选的,当所述基础软件函数模块为回调函数模块时,所述功能配置参数还包括:回调函数个数和回调函数名称;

在接收代码生成指令后,调用编译器之前还包括:生成与所述回调函数个数对应的回调函数模块对,所述回调函数模块对包括函数名模块和函数内容模块,所述函数名模块的名称依据所述回调函数名称确定;确定用户在各个函数内容模块搭建的回调函数模型;生成各个回调函数模型的源代码;在调用编译器后还包括:将所述各个回调函数模型的源代码添加至所述编译器中。

上述方法,优选的,所述生成应用软件模型的应用软件源代码包括:调用第一代码生成工具生成所述应用软件模型的应用软件源代码。

上述方法,优选的,所述依据预设的控制逻辑生成与各个基础软件函数模块相对应的,用于调用相应的基础软件代码的调用代码包括:调用第二代码生成工具生成调用每个基础软件函数模块的调用代码。

一种基础软件集成方法及系统,包括:连接模块,用于依据接收的连接指令将预先选择的至少一个基础软件函数模块连接至应用软件模型的相应位置;

第一接收模块,用于接收输入的功能配置参数,所述功能配置参数至少包括基础软件的功能参数;

第二接收模块,用于接收代码生成指令;参数配置模块,用于依据所述功能配置参数生成与各个基础软件相对应的配置文件;

第一生成模块,用于在所述第二接收模块接收代码生成指令后,生成所述应用软件模型的应用软件源代码;

第二生成模块,用于在所述第二接收模块接收代码生成指令后,依据预设的控制逻辑生成与各个基础软件函数模块相对应的,用于调用相应的基础软件源代码的调用代码;

第一确定模块,用于依据预设的与控制器软件相对应的应用程序逻辑确定各个调用代码在所述应用软件源代码中的位置;

添加模块,用于将所述各个调用代码添加至所述应用软件源代码的相应位置,得到应用软件初级代码;

调用模块,用于调用编译器,将所述应用软件初级代码、各个基础软件源代码,以及所述与各个基础软件相对应的配置文件添加至所述编译器中;

控制模块,用于控制所述编译器对所述编译器内的代码进行编译,生成目标文件。

上述系统,优选的,所述基础软件函数模块包括接口函数模块和/或回调函数模块。

上述系统,优选的,当所述基础软件函数模块为回调函数模块时,所述第一接收模块接收的功能配置参数还包括:回调函数个数和回调函数名称;

所述系统还包括:第三生成模块,用于在所述第二接收模块接收代码生成指令后,生成与所述回调函数个数对应的回调函数模块对,所述回调函数模块对包括函数名模块和函数内容模块,所述函数名模块的名称依据所述回调函数名称确定;第二确定模块,用于确定用户在各个函数内容模块搭建的回调函数模型;第四生成模块,用于生成各个回调函数模型的源代码;所述调用模块还用于,将所述各个回调函数模型的源代码添加至所述编译器中。

上述系统,优选的,所述第一生成模块通过调用第一代码生成工具生成所述应用软件模型的应用软件源代码。

上述系统,优选的,所述第二生成模块通过调用第二代码生成工具调用每个基础软件函数模块的调用代码。

由以上本申请实施例提供的技术方案可见,本申请提供的一种软件集成方法及系统,通过将预先选择的至少一个基础软件函数模块连接至应用软件模型的相应位置,生成控制器软件模型;并接收输入的功能配置参数,在接收代码生成指令后,生成配置文件,应用软件的源代码,以及与各个基础软件函数模块相对应的,用于调用相应的基础软件代码的调用代码,并根据预设的与控制器软件相对应的应用程序逻辑确定各个调用代码在所述应用软件源代码中的位置;将各个调用代码添加至所述应用软件源代码的相应位置,得到应用软件初级代码;然后将调用编译器,将所述应用软件初级代码,各个基础软件代码,以及所述与各个基础软件相对应的配置文件添加至所述编译器中;控制所述编译器对所述编译器内的代码进行编译,生成目标文件。

由此可知,本申请实施例中,只需要用户搭建控制器软件模型并配置功能参数,然后点击生成代码的按键即可实现软件的集成,而不需要用户在应用软件的代码中查找调用代码的位置,也不需用户手动填写调用代码,也不需要用户将代码加入编译器,实现了软件的自动集成,降低了软件集成难度,减少了工作量。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的生成源代码的流程图;

图2为本申请实施例提供的一流程图;

图3为本申请实施例提供的用户在状态机中设置的触发canwrite模块的

控制逻辑的示意图;

图4为本申请实施例提供的生成回调函数模型的源代码的流程图;

图5为本申请实施例提供的结构示意图;

图6为本申请实施例提供的另一种的结构示意图。

为了图示的简单和清楚,以上附图示出了结构的普通形式,并且为了避免不必要的模糊本发明,可以省略已知特征和技术的描述和细节。另外,附图中的单元不必要按照比例绘制。例如,可以相对于其他单元放大图中的一些单元的尺寸,从而帮助更好的理解本发明的实施例。不同附图中的相同标号表示相同的单元。

说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的单元或过程,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示的或否则描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可以包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

一种基础软件集成方法及系统的主要思想是将用户面向代码的工作转为面向模块的工作,即通过用户搭建模型来自动实现软件集成。

一种基础软件集成方法及系统提供的实施例中,需要用户预先安装提供给用户的基础软件模块库,其中,所述基础软件模块库可以包括三个子模块库,分别为接口函数子模块库,回调函数子模块库和参数配置子模块库;在安装基础软件模块库后,提供给用户的基础软件代码也自动存储至与所述基础软件模块库相关联的文件中,当集成软件时,编译器可以自动读取该基础软件。

所述接口函数子模块库中包含供应用软件调用的外部接口函数模块,当应用软件需要调用外部接口函数实现基础软件的某些功能时,用户需要在应用软件模型的调用外部接口函数位置添加相应的外部接口函数模块。

所述回调函数子模块库中包含基础软件提供给应用软件的回调函数模块对。一个回调函数模块对包含一个函数名模块和一个函数内容模块。其中,函数内容模块的功能需要用户通过搭建模型实现,那么,在生成代码时,就会形成应用软件对回调函数内容的定制。

为叙述方便,所述接口函数子模块库和回调函数子模块库可以统称为基础软件函数模块库,所述接口函数模块和回调函数模块可以统称为基础软件函数模块。

所述参数配置子模块库中包含用于接收用户输入的参数的图形用户界面(graphicaluserinterface,简称gui界面)和参数配置模块,其中,所述参数配置模块通过gui界面接收用户输入的配置参数实现参数配置,所述参数配置模块对于用户是不可见的。

本申请实施例中,所述基础软件模块库中的所有模块都建立在s-function模块基础上,s-function模块是simulink提供的可定制功能的模块。该模块包括三部分内容:s-function模块实体,s-function源文件sfcn.c(源文件的文件名为sfcn)和模块tlc文件sfcn.tlc。

基础软件模块库中的模块(为叙述方便,下面简称为基础软件模块)的源代码的生成流程如图1所示,可以包括如下步骤:

步骤s101:在simulink环境下编写s-function模块的源文件。该文件包含描述模块的输入、输出和采样时间等信息,并能获取从gui界面输入的配置参数值。其中,所述模块的输入和输出信息包括模块的输入端口和输出端口的个数,以及输入和输出端口的类型。

例如,假设编写的源文件的文件名为sfcn.c,假设要封装的函数为:canwrite(“端口1的值”,“端口2的值”),那么,在源文件sfcn.c中,需要定义所封装的s-function模块有两个输入端口,端口1的类型可以为uint8,端口2的类型可以为uint16。

若封装为定时器的参数配置模块,则需要定义所封装的s-function模块一个配置定时时间的参数,假设这个参数名为temp(该temp提供给tlc文件使用),temp的内容就是参数值,参数值即为用户通过gui界面输入的数值。

步骤s102:将源文件转换为可以在matlab环境下运行的文件。

例如,可以使用mex命令将源文件sfcn.c转换为可以在matlab环境下运行的sfcn.mexw32文件,即,在matlab命令窗口输入mexsfcn.c,然后执行即可实现文件格式的转换。

步骤s103:编写模块tlc文件。

本步骤中编写的模块tlc文件与源文件的文件名相同,都为sfcn,假设源文件为sfcn.c,那么,所编写的模块tlc文件则为sfcn.tlc,当然,所述模块tlc文件与源文件的文件名还可以为其他文件名,这里不做具体限定,只要模块tlc文件与源文件的文件名相同即可。该模块tlc文件可定制s-function模块的输出内容、可以生成文件等。

例如,还以canwrite(“端口1的值”,“端口2的值”)函数为例,该函数的tlc文件的内容是“canwrite(“端口1的值”,“端口2的值”)”。tlc文件决定封装的是canwrite(“端口1的值”,“端口2的值”)这个函数。

若封装为定时器的参数配置模块,tlc文件的内容则有两部分:1、生成参数配置文件,假设为timer_cfg.h;2、该文件的内容是定时时间tim,假设tim=%<temp>。其中temp的值(假设为100)是在生成代码时,从源文件sfcn.c文件中传递过来的,最后封装的结果是生成一个名称为参数配置文件timer_cfg.h的参数配置文件,该文件的内容是tim=100。

步骤s104:配置模型文件的相关参数,可以包括选择系统tlc文件,选择硬件的芯片类型,优化模型等。

所述模型文件是指*.mdl文件,包含应用软件模块、基础软件函数模块,也就是用户搭建了模型的文件。所述模型文件的相关参数可以根据用户需求选择。

步骤s105:在模型文件中点击“生成代码”的按键,生成模型描述文件。

该模型描述文件包含基础软件函数模块的数据结构、用过gui界面接收的用户输入的相应参数、在模型文件配置的相应参数等信息。所述模型描述文件是指*.rtw文件。

步骤s106:基于模型描述文件,在targetlanguagecompiler工具下,通过执行系统tlc文件和模块tlc文件,生成基础软件模块的源代码。

所述生成的基础软件模块的源代码用于在集成软件的过程中生成调用代码。

具体的,所述targetlanguagecompiler工具先执行系统tlc文件,然后读取所述模型描述文件model.rtw,然后依据读取的信息执行模块tlc文件,进而生成基础软件模块的源代码。

请参看图2,图2为本申请实施例提供的一种软件集成方法的流程图,包括:

步骤s201:依据接收的连接指令将预先选择的至少一个基础软件函数模块连接至应用软件模型的相应位置,生成控制器软件模型;

本申请是在用户搭建的应用软件模型的基础上添加基础软件函数模块,其中,所述至少一个基础软件函数模块是用户从预先安装的基础软件函数模块库中选择的,所述基础软件函数模块在所述应用软件模型中的连接位置依据用户触发的连接指令确定。

也就是说,本申请实施例中,用户除了搭建应用软件模型以外,还需要在应用软件模型上搭建基础软件函数模块,因此,整个控制器软件都由用户通过搭建模型实现。因为用户是在simulink中搭建系统模型,因此,在用户搭建模型的过程中,simulink根据用户触发的连接指令将用户选择的基础软件函数模块连接至应用软件模型的相应位置。

步骤s202:接收输入的功能配置参数,所述功能配置参数至少包括基础软件的功能参数;

其中,步骤s201和步骤s202的具体执行步骤不做具体限定,可以先执行步骤s201再执行步骤s202,也可以先执行步骤s202再执行步骤s201。

所述功能配置参数是由用户通过参数配置模块提供的gui界面输入的。

步骤s203:接收代码生成指令;

所述代码生成指令也是由用户触发的,也就是说,在控制器软件模型搭建好以后,simulink接收的代码生成指令由用户点击“生成代码”的按键生成。

步骤s204:依据所述功能配置参数生成与各个基础软件相对应的配置文件;

其中,所述基础软件的代码存储在于所述基础软件函数模块库相关联的文件中。

步骤s205:生成所述应用软件模型的应用软件源代码;

对于所述控制器模型中的应用软件模型,生成所述应用软件模型的应用软件源代码。具体可以调用simulink中的simulinkcoder自动生成。

步骤s206:依据预设的控制逻辑生成与各个基础软件函数模块相对应的,用于调用相应的基础软件代码的调用代码;

所述预设的控制逻辑是由用户根据所要实现的应用软件的功能逻辑设定的。具体的,所述控制逻辑可以在状态机中设置,也可以在开关中设置。具体可由用户根据实际需求确定是在状态机中设置,还是在开关中设置,或者二者结合使用。

下面以在状态机中设置基础软件函数模块“canwrite”模块的触发时机为例进行说明,假设用户在状态机中设置的触发canwrite模块的控制逻辑如图3所示,图3所示控制逻辑表示在计时时间大于10时,触发canwrite模块,那么,在生成调用代码时,代码生成工具会自动根据状体机中的控制逻辑生成代码(即canwrite模块的调用代码),该控制逻辑的代码为:

初始值tim=0;

if(tim>10)

{canwrite();}

else

{tim=tim+1;}

具体如何根据控制逻辑生成代码属于本领域的公知常识,这里不再赘述。

其中,步骤205和步骤206的执行顺序不做具体限定,可以先执行步骤205再执行步骤s206,也可以先执行步骤s206,然后再执行步骤s205。

步骤s207:依据预设的与控制器软件相对应的应用程序逻辑确定各个调用代码在所述应用软件源代码中的位置;

由于本申请实施例中,通过搭建控制软件模型来生成代码,因此,与搭建软件模型时需要用户根据软件的实际需求设置与软件相对应的应用程序逻辑相类似,所述与控制器软件相对应的预设的应用程序逻辑也是由用户根据控制软件的实际需求确定的,通过预先设置的应用程序逻辑,可以确定每个基础软件函数模块的调用代码在所述应用软件源代码中的位置,具体如何确定属于本领域的公知常识,这里不再赘述。

步骤s208:将所述各个调用代码添加至所述应用软件源代码的相应位置,得到应用软件初级代码;

步骤s209:调用编译器,将所述应用软件初级代码、各个基础软件代码,以及所述与各个基础软件相对应的配置文件添加至所述编译器中;

调用编译器具体可以包括:打开编译器ide,设置编译器参数等;其中,设置编译器参数可以通过为用户提供gui界面,由用户输入相应的参数,所述参数可以包括:编译器的安装路径,编译器工程文件的文件名,编译器工程文件的路径,是否需要编译/下载等参数。

本申请实施例中,在得到应用软件初级代码后,自动调用编译器,利用所述编译器提供的第三方接口函数(如,codewarrior编译器提供的com相关函数)将所述应用软件初级代码、各个基础软件代码,以及所述与各个基础软件相对应的配置文件添加至所述编译器中。

步骤s210:控制所述编译器对所述编译器内的代码进行编译,生成目标文件。

代码添加完毕后,设置编译器对工程进行自动编译,生成目标文件。所述目标文件即是集成后的软件文件。

生成目标文件后,就可以将目标文件下载至目标板中了。

本申请实施例中,只需要用户搭建控制器软件模型并配置功能参数,然后点击生成代码的按键即可实现软件的集成,而不需要用户在应用软件的代码中查找调用代码的位置,也不需要用户手动填写调用代码,也不需要用户将代码加入编译器,实现了软件的自动集成。也就是说,本申请实施例提供的软件集成方法,将用户面向代码的工作转为面向模块的工作,通过模块之间的连接来实现函数调用,简单、清晰,解决了传统手工集成中遇到的可读性差导致的手工集成软件的难度高,工作量大的问题。

上述实施例,优选的,所述基础软件函数模块可以包括接口函数模块和/或回调函数模块。

具体的所述基础软件函数模块选用哪个,以及基础软件函数模块的个数依据有由用户根据其实际需求确定。

在图2所示实施例的基础上,当所述基础软件函数模块为回调函数模块时,所接收的输入的功能配置参数还可以包括回调函数个数和回调函数名称;

所述回调函数个数和回调函数名称是由用户通过gui配置界面输入的,即用户根据实际需求配置所需要的回调函数的个数。

相应的,在接收代码生成指令,调用编译器之前还可以包括生成回调函数模块的源代码的过程,本申请实施例提供的生成回调函数模块的源代码的流程图如图4所示,可以包括:

步骤s401:生成与所述回调函数个数对应的回调函数模块对,所述回调函数模块对包括函数名模块和函数内容模块;

假设回调函数的个数为n,那么,就会生成n个回调函数模块对,其中,所述函数名模块的名称依据所述回调函数名称确定,不同的的回调函数名模块的名称都包括所述回调函数名称部分,但不同的回调函数名模块的名称不同。例如,假设回调函数个数为2,回调函数名称为abc,那么,生成的一个回调函数模块对中的函数名模块的名称可以为abc1,生成的另一个回调函数模块对中的函数名模块的名称可以为abc2,当然,也可以按其它方式命名,主要包含输入的回调函数名称并能相互区分即可,这里不做具体限定。

其中,函数名模块的输出口与所述函数内容模块的输入口相连接,二者不可分离使用。

步骤s402:确定用户在各个函数内容模块搭建的回调函数模型;

本申请实施例中,需要用户搭建各个回调函数的模型。

步骤s403:生成各个回调函数模型的源代码。

例如,假设用户将函数名模块的内容设置为voidapp_canwrite(void),并在函数内容模块中搭建了a=b+1的算法。那么,生成代码时将表现为:

voidapp_canwrite(void)

{a=b+1;}

相应的,在调用编译器后还包括:将所述各个回调函数模型的源代码添加至所述编译器中。

本申请实施例中,回调函数模块的函数内容模块的功能通过用户搭建模型实现,在生成代码时,就会形成用户对回调函数内容的定制。通过搭建模型的方式添加回调函数的内容而不是通过代码方式添加,进一步将用户面型代码的工作转为面向模块的工作,进一步降低了软件集成难度高,减少了工作量。

上述实施例,优选的,所述生成应用软件模型的应用软件源代码可以通过调用第一代码生成工具生成所述应用软件模型的应用软件代码,所述第一代码生成工具可以为simulinkcoder;

上述实施例,优选的,所述生成调用每个基础软件函数模块的调用代码可以通过调用第二代码生成工具生成调用每个基础软件函数模块的调用代码。所述第二点生成工具可以为simulinkcoder,也可以为rtwcoder,优选的为rtwcoder。

与方法实施例相对应,本申请实施例还提供一种软件集成系统,请参看图5,图5为本申请实施例提供的一种软件集成系统的结构示意图,所述软件集成系统可以包括:

连接模块501,第一接收模块502,第二接收模块503,参数配置模块504,第一生成模块505,第二生成模块506,第一确定模块507,添加模块508,调用模块509和控制模块510;其中,

连接模块501用于依据接收的连接指令将预先选择的至少一个基础软件函数模块连接至应用软件模型的相应位置;

第一接收模块502用于接收输入的功能配置参数,所述功能配置参数至少包括基础软件的功能参数;

第二接收模块503用于接收代码生成指令;

参数配置模块504用于在所述第二接收模块503接收代码生成指令后,依据所述功能配置参数生成与各个基础软件相对应的配置文件;

第一生成模块505用于在所述第二接收模块接收代码生成指令后,生成所述应用软件模型的应用软件源代码;

优选的,第一生成模块505可以通过调用第一代码生成工具生成所述应用软件模型的应用软件源代码。

第二生成模块506用于在所述第二接收模块接收代码生成指令后,依据预设的控制逻辑生成与各个基础软件函数模块相对应的,用于调用相应的基础软件源代码的调用代码;

优选的,第二生成模块506可以通过调用第二代码生成工具生成调用每个基础软件源代码的调用代码,其中,每一个基础软件源代码对应一个调用代码。

第一确定模块507用于依据预设的与控制器软件相对应的应用程序逻辑确定各个调用代码在所述应用软件源代码中的位置;

添加模块508用于将所述各个调用代码添加至所述应用软件源代码的相应位置,得到应用软件初级代码;

调用模块509用于调用编译器,将所述应用软件初级代码、各个基础软件源代码,以及所述与各个基础软件相对应的配置文件添加至所述编译器中;

控制模块510用于控制所述编译器对所述编译器内的代码进行编译,生成目标文件。

本申请实施例提供的一种软件集成系统,只需要用户搭建控制器软件模型并配置功能参数,然后点击生成代码的按键即可实现软件的集成,而不需要用户在应用软件的代码中查找调用代码的位置,也不需要用户手动填写调用代码,也不需要用户将代码加入编译器,实现了软件的自动集成。也就是说,本申请实施例提供的软件集成方法,将用户面向代码的工作转为面向模块的工作,通过模块之间的连接来实现函数调用,简单、清晰,解决了传统手工集成中遇到的可读性差导致的手工集成软件的难度高,工作量大的问题。

上述实施例,优选的,所述基础软件函数模块包括接口函数模块和/或回调函数模块。

当所述基础软件函数模块为回调函数模块时,所述第一接收模块接收的功能配置参数还包括回调函数个数和回调函数名称;基于此,本申请实施例提供的另一种软件集成系统的结构示意图如图6所示,还可以包括:

第三生成模块601,用于在所述第二接收模块503接收代码生成指令后,生成与所述回调函数个数对应的回调函数模块对,所述回调函数模块对包括函数名模块和函数内容模块,所述函数名模块的名称依据所述回调函数名称确定;

第二确定模块602,用于确定用户在各个函数内容模块搭建的回调函数模型;

第四生成模块603,用于生成各个回调函数模型的源代码;

相应的,所述调用模块509还用于将所述各个回调函数模型的源代码添加至所述编译器中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1