Main Content

rtwbuild

(不推荐)从模型中编译生成的代码。

不推荐使用 rtwbuild。请改用 slbuild

说明

rtwbuild(model) 根据当前模型配置参数设置从 model 生成代码。如果 model 尚未加载到 MATLAB® 环境中,rtwbuild 会在生成代码之前加载它。

如果清除仅生成代码模型配置参数,该函数将生成代码并编译可执行镜像文件。

为了减少代码生成时间,在重新编译模型时,rtwbuild 提供增量模型编译。代码生成器仅在模型或子模型自最近一次模型编译后有变动的情况下才重新编译它们。要强制实施顶层模型编译,请参阅 'ForceTopModelBuild' 参量。

rtwbuild(model,Name,Value) 使用由一个或多个 Name,Value 对组参量指定的其他选项。

rtwbuild(subsystem) 根据当前模型配置参数设置从 subsystem 生成代码。在开始编译之前,打开(或加载)父模型。

如果清除仅生成代码模型配置参数,该函数将生成代码并编译可执行镜像文件。

rtwbuild(subsystem,'Mode','ExportFunctionCalls') 从包含可导出为外部应用程序代码的函数调用的 subsystem 生成代码(需要有 Embedded Coder®)。

如果创建模块配置参数设置为 SIL 并且您有 Embedded Coder,则 blockHandle = rtwbuild(subsystem,'Mode','ExportFunctionCalls') 返回为从指定子系统生成的代码创建的 SIL 模块的句柄。然后,您可以使用 SIL 模块进行数值等效性测试。

输入参数

全部折叠

要为其生成代码或编译可执行镜像文件的模型,指定为表示模型名称的对象或字符向量。

示例: 'rtwdemo_exporting_functions'

要为其生成代码或编译可执行镜像文件的子系统,指定为表示子系统名称或完整模块路径的字符向量。

示例: 'rtwdemo_exporting_functions/rtwdemo_subsystem'

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: rtwbuild('TopModelCode','ForceTopModelBuild',true)

强制重新生成顶层模型代码,指定为 truefalse

操作指定
强制代码生成器为包含引用模型的系统的顶层模型重新生成代码 true
指定代码生成器根据模型和模型参数的更改确定是否重新生成顶层模型代码 false

如果您更改了与外部或自定义代码相关联的项目,例如自定义目标的代码,请考虑强制重新生成顶层模型的代码。例如,如果您更改了下列各项,请将 ForceTopModelBuild 设置为 true

  • TLC 代码

  • S-Function 源代码,包括 rtwmakecfg.m 文件

  • 集成的自定义代码

您也可以通过删除Code generation folder中的文件夹(如 slprj)或生成的模型代码文件夹,强制为顶层模型重新生成代码。

如果未指定值,代码生成窗格中的仅生成代码 (GenCodeOnly) 选项将控制编译过程行为。

如果指定值,该参量将覆盖代码生成窗格中的进生成代码 (GenCodeOnly) 选项。

操作指定

仅生成代码。

true

生成代码并编译可执行文件。

false
  • 'ExportFunctionCalls' - 如果您有 Embedded Coder,将从其中包含可导出为外部应用程序代码的函数调用的 subsystem 生成代码。

  • 'Normal' - 不导出函数调用。

为指定的子系统命名导出的初始化函数。

示例: rtwbuild(subsystem,'Mode','ExportFunctionCalls','ExportFunctionInitializeFunctionName', fcnname)

在“编译状态”窗口中显示编译信息,指定为 truefalse。有关使用“编译状态”窗口的详细信息,请参阅Monitor Parallel Building of Referenced Models

“编译状态”窗口支持引用模型层次结构的并行编译。不要使用“编译状态”窗口进行串行编译。

操作指定
在“编译状态”窗口中显示编译信息true
无操作false

指定是否生成经过混淆处理的 C 代码,指定为 truefalse

操作指定
生成经过混淆处理的 C 代码,您可以将其与第三方共享,从而降低涉及知识产权问题的可能性。true
无操作。false

用于编译模型引用仿真目标的选项,指定为由 'IncludeModelReferenceSimulationTargets'truefalse 组成的以逗号分隔的对组。

数据类型: logical

输出参量

全部折叠

为生成的子系统代码创建的 SIL 模块的句柄。仅当以下两个条件都得到满足时才返回:

  • 您得到使用 Embedded Coder 软件的许可。

  • 创建模块模型配置参数设置为 SIL

提示

您可以通过以下方式启动代码生成和编译过程:

  • Ctrl+B

  • 选择代码 > C/C++ 代码 > 编译模型

  • 从 MATLAB 命令行调用 slbuild 命令。

扩展功能

版本历史记录

在 R2009a 中推出

全部展开