在重新构建模型时,默认情况下,构建过程将执行检查,以确定对模型或相关设置的更改是否需要重新生成顶级模型代码。如果下列任何一个条件为真,模型构建将重新生成顶级模型代码:
模型的结构校验和已更改。
只有顶级模型的校验和已经改变。仅顶级模型校验和提供有关顶级模型参数的信息,如应用程序寿命、最大堆栈大小、make命令、verbose和.rtw
文件调试设置TLCOptions
.
选择TLC调试配置参数:
在生成代码时启动TLC调试器(TLCDebug
)
在生成代码时启动TLC覆盖(TLCCoverage
)
使TLC断言(TLCAssert
)
剖面薄层色谱(ProfileTLC
)
无论顶部模型代码是否重新生成,构建过程都会调用构建过程钩子并重新运行makefile。钩子包括
函数和邮政编码生成命令。这个过程重新编译并链接外部依赖项。月31
_make_rtw_hook
中的系统目标文件作者可以执行与代码再生相关的操作
构建过程调用的函数。这些操作包括强制或响应代码再生。有关更多信息,请参见使用STF_make_rtw_hook.m控制代码再生.月31
_make_rtw_hook
如果检查确定需要顶级模型代码生成,则构建过程完全重新生成并编译模型代码。一个示例检查是,由于模型更新,以前生成的代码是否不当前。
当检查表明这两种情况时,构建过程将忽略顶部模型代码的重新生成:
生成的顶层模型代码是当前模型的代码。
模型设置不需要完全重新生成。
这个省略可以显著减少模型构建时间。
使用嵌入式编码器®如果您修改了代码生成模板(CGT)文件,然后重新构建您的模型,那么代码生成过程不会强制构建顶级模型。在这种情况下,请看顶级模型代码的力量再生.
如果你想控制或覆盖默认的顶级模型构建行为,使用以下命令行选项之一:
忽略校验和并强制重新生成顶级模型代码:
要清理足够的模型构建区域,以便在下一次构建时触发顶级模型代码的重新生成(slbuild
只):
|
控件可以强制重新生成顶层模型代码,方法是删除slprj
的文件夹或生成的模型代码文件夹代码生成的文件夹.