子系统
生成和重用子系统的代码
您可以将若干模块组合到一个 Subsystem 模块中,以降低模型的大小和复杂度。要为各个子系统生成模块化代码和单元测试代码,您可以配置原子子系统来将代码生成到一个单独的函数和文件。
子系统可以是虚拟子系统或原子子系统。虚拟子系统提供模型中的图形层次结构,并且不影响模型的执行。原子子系统作为模型中的单个单元执行。代码生成器支持条件执行子系统。
主题
代码生成
- Generate Code and Executables for Individual Subsystems
Generate and build a standalone executable from a subsystem. - Generate Subsystem Code as Separate Function and Files
Configure subsystems to generate functions in separate files and specify the names of those functions and files. - Generate Predictable Function Interface to Match Graphical Block Interface
Generate a nonreusable subsystem function interface that does not change. - Generate Code for Variant Subsystem Blocks
Generate code for specific implementation of component represented using Variant Subsystem block. - 生成代码的建模规范
概述有关模型和生成代码的规范,包括编码规范、组件部署建模规范和 MathWorks 咨询委员会规范 (MAB)。
代码优化
- Generate Inlined Subsystem Code
Configure nonvirtual subsystems to generate inlined code.
代码重用
- 生成代码中的函数重用
此示例说明如何配置原子子系统来生成可重用的代码。要指定为子系统生成的代码作为原子单元执行,请在“模块参数”对话框中选择视为原子单元参数。该参数会启用代码生成选项卡上的函数打包参数。函数打包参数有以下四种设置: - Determine Why Subsystem Code Is Not Reused
Determine why the code generator does not reuse subsystem code as you expect. - Generate Reusable Code from Model Reference Hierarchy
Generate reusable subsystem code from a top model with Model blocks. - Generate Reentrant Code from Subsystems
Generate reusable, reentrant code from subsystems. - Generate Reusable Code from For Each Subsystems
Generate reusable code for For Each subsystems that perform the same processing.