主要内容

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

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

工作流设置自定义

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

  1. 程序代码后生成命令

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

  3. 抑制makefile生成,如果适用。

  4. 构建模型。

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

构建信息对象

在模型构建开始时,构建过程将以下构建选项和依赖关系信息记录到临时构建信息对象:

  • 编译器选项

  • 预处理器标识的定义

  • 链接器选项

  • 源文件和路径

  • 包括文件和路径

  • 预编译的外部库

您可以通过使用广泛的函数来检索来自并将信息添加到此对象。有关可用功能列表和详细功能描述,请参阅构建过程定制程序邮政代码生成命令介绍如何使用函数来控制邮政代码生成构建处理。

程序邮政代码生成命令

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

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

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

如果您的邮政编码生成命令调用用户定义的函数,请确保函数在MATLAB路径上。如果构建过程找不到在命令中使用的函数,则构建过程错误。

然后,您可以称为构建信息函数的组合,如列所示构建过程定制,自定义模型后代码的构建处理。

以下示例显示了邮政编码生成命令的片段,获取源的文件名和路径,并包括为分析模型生成的文件。

函数分析中(BuildInfo)%获取源的名称和路径,并包括模型生成的文件%,然后分析它们。%buildinfo  - 为我的模型构建信息。%定义单元格数组以保持数据。mybuildinfo = {};%获取源文件信息。mybuildinfo.srcfiles = getsourcefiles(buildinfo,true,true);mybuildinfo.srcpaths = getSourcePaths(BuildInfo,True);%get包括(标题)文件信息。mybuildinfo.incfiles = getIncludefiles(BuildInfo,True,True);mybuildinfo.incss = getIncludepaths(BuildInfo,True); % Analyze generated code. . . .

定义后代码生成命令

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

由于以下语法行示出,在设置配置参数时指定的参数根据您是将命令作为脚本,函数或函数集编程而异。

注意

将命令定义为函数时,您可以指定任意数量的输入参数。要将名称和构建模型的信息传递给函数,请指定标识符ModelName.buildInfo作为论点。

脚本

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

功能

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

多种功能

PCGFunction.= ...“pcgFunction1Name(MODELNAME); ...pcgfunction2name.(BuildInfo)';set_param(模型,'postcodegencommand',...PCGFunction.);

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

set_param(模型,'postcodegencommand',...'分析中(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构建过程中使金宝app用此支持。

要指示代码生成器不会生成makefile,请执行以下操作之一:

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

  • 设置配置参数的值generatemakefile.到目前为止关闭

当你压制生成makefile,

另请参阅