定制后的代码生成加工订做

代码生成器提供了一套工具,包括构建信息的对象,您可以使用自定义代码生成后发生订做加工。您可以使用这种定制为目标开发或第三方工具集成到你的应用程序开发环境。

工作流设置自定义

下图和随后的步骤显示设置后的代码生成自定义的一般工作流程。

  1. 程序代码后生成命令

  2. 定义后的代码生成命令

  3. 禁止生成makefile(如果适用)。

  4. 构建模型。

  5. 修改命令和重建模型,直到生成结果是可以接受的。

构建信息对象

在模型构建的开始,构建过程记录以下构建选项和依赖性信息到一个临时构建信息对象:

  • 编译器选项

  • 预处理器标识的定义

  • 链接选项

  • 源文件和路径

  • 包括文件和路径

  • 预编译的外部库

您可以从检索信息,并通过使用一套广泛的功能,这个对象添加信息。有关可用功能和详细功能说明的列表,请参阅构建流程定制程序邮编代指挥介绍了如何使用功能来控制后代码的构建处理。

程序邮编代指挥

对于某些应用程序,你能想到的代码生成后,控制生成过程的各个方面。例如,你可以,如果你开发自己的目标,或者你想构建过程继续之前应用分析工具所生成的代码中使用此方法。您可以通过编程,然后确定一个职位代码生成命令将此电平控制的构建过程中。

阿交码生成命令是MATLAB®语言文件通常调用从获取数据或数据添加到模型的构建信息对象的功能。您可以编程命令脚本或者函数。

如果你程序的命令为: 那么:
脚本 脚本可以直接访问到的型号名称和构建信息
功能 功能可以通过型号名称,作为参数构建信息

如果您的帖子代码生成命令调用用户定义的函数,请确保功能的MATLAB的路径。如果构建过程中无法找到你在命令中使用的功能,构建过程出现了错误。

然后,您可以调用构建信息功能的组合,如上市构建流程定制,自定义模型后代码的构建处理。

下面的例子表明,获得的文件名和源极的路径和包括用于分析模型生成的文件后置码产生命令的片段。

功能analyzegencode(buildInfo)%获取的名称和来源的路径,包括为模型生成的文件%,然后分析它们。%buildInfo  - 我的模型构建信息。%定义单元阵列保持数据。MyBuildInfo = {};%获取源文件信息。MyBuildInfo.srcfiles = getSourceFiles(buildInfo,真实,TRUE);MyBuildInfo.srcpaths = getSourcePaths(buildInfo,TRUE);%获取包括(头)文件的信息。MyBuildInfo.incfiles = getIncludeFiles(buildInfo,真实,TRUE);MyBuildInfo.incpaths = getIncludePaths(buildInfo,TRUE); % Analyze generated code. . . .

定义邮编代指挥

之后要编制职位代码生成命令,告知构建过程的命令存在,将其添加到模型的构建处理。定义与命令PostCodeGenCommand车型配置参数。当你定义一个职位代码生成命令,生成过程生成评估和编写生成的代码到磁盘后生成一个makefile之前的命令。

如下面的语法行显示,参数所指定取决于你是否编程命令脚本,函数或组函数时设置配置参数变化。

注意

当定义命令的功能,你可以指定的输入参数的任意数量。要通过模型的名称和构建信息的功能,指定的标识符型号名称buildInfo作为参数。

脚本

set_param(模型'PostCodeGenCommand',......“pcgScriptName“);

功能

set_param(模型'PostCodeGenCommand',......“pcgFunctionName(型号名称)');

多种功能

pcgFunctions= ...“pcgFunction1Name(型号名称);...pcgFunction2Name(buildInfo)';set_param(模型'PostCodeGenCommand',...pcgFunctions);

下面调用set_param定义PostCodGenCommand评估功能analyzegencode

set_param(模型, 'PostCodeGenCommand',...... 'analyzegencode(buildInfo)');

与PostCodeGenCommand和移居自定义生成过程中生成的代码外部环境

这个例子说明了如何使用构建信息编程接口和模型配置参数邮政代码生成命令PostCodeGenCommand)自定义生成过程。在这个例子中,邮政代码生成命令设定为rtwdemo_buildinfo_data。构建过程调用代码生成后的功能。

这个例子也说明了如何使用构建配置功能rtwmakecfg.m

开放范例模型

打开示例模型rtwdemo_buildinfo

open_system('rtwdemo_buildinfo');

从模型生成代码

生成代码。代码发生器产生文件BuildInfo.html,该文件编译的信息对象。

检查生成进程自定义和输出

检查构建过程的自定义和构建信息对象的职位代码生成查询。在Web浏览器中,打开文件BuildInfo.html。该文件提供了可用于检查该模型生成的代码链接。另外,在MATLAB命令窗口:

  • 以查看配置在构建过程中的后置码产生阶段执行该功能,输入:

get_param( 'rtwdemo_buildinfo', 'PostCodeGenCommand');

  • 为了研究编程接口,为构建信息对象,请输入:

rtwdemo_buildinfo_data(buildInfo);

  • 为了研究例如如何使用rtwmakecfg功能,输入:

编辑rtwmakecfg.m;

  • 要查看构建过程中保存生成信息的对象数据buildInfo.mat文件,打开文件rtwdemo_ <目标> _rtw \ buildInfo.mat

  • 要查看这篇文章的代码生成功能的内容rtwdemo_buildinfo_data.m,请输入:

编辑rtwdemo_buildinfo_data.m;

在文件的结尾,函数调用packNGo打包的源代码和目标文件生成信息对象识别用于重新定位。

相关话题

禁止生成makefile

代码生成器在编译过程中,您可以抑制生成makefile。例如,您可以在集成工具到不使用的makefile构建过程中使万博1manbetx用此支持。

要指示代码生成器不产生makefile文件,请执行下列操作之一:

  • 清除生成的makefile该选项代码生成配置参数对话框的窗格。

  • 设置配置参数的值GenerateMakefile

当你压制生成makefile,

也可以看看