主要内容

子系统函数的控制生成

什么是子系统函数?

子系统函数是代码生成器在模型中为子系统产生的函数。函数接口以及代码生成器包的代码如何取决于子系统是虚拟或原子(非virtual)子系统以及配置子系统块参数的方式。有关更多信息,请参阅子系统,原子子系统,代码复用子系统

控制子系统功能代码生成的选项

您可以以控制代码生成器如何生成子系统的代码的方式设计和配置模型。

从选定的子系统生成带内划线的代码。 内联子系统代码
仅为子系统生成代码。 为单个子系统生成代码和可执行文件
在没有参数的情况下生成单独的函数,并且可选地将子系统代码放在单独的文件中。 生成子系统代码作为单独的函数和文件
为子系统生成单一的重写函数,该函数包含在模型中的多个位置。 从子系统生成重播代码
为子系统生成单个重写函数,该函数包含在模型引用层次结构中的多个位置。 从模型共享的库子系统生成可重用代码
为包含多个功能接口的可重用库子系统生成代码。 基于库的代码生成可重用库子系统(嵌入式编码器)

子系统函数依赖

子系统生成的代码可以完全独立于模型生成的代码。生成子系统的代码时,即使子系统功能代码处于单独的文件中,代码也可以引用模型的全局数据结构。每个子系统代码文件都包含包括描述依赖关系的指令和注释。代码生成器检查循环文件依赖关系,并在构建时发出警告。有关代码生成器如何包代码的描述,请参见管理构建过程文件依赖项

要生成独立于为父模型生成的代码的子系统功能代码,请将子系统放在一个库中,并将其配置为可重用的子系统,如中所述从模型共享的库子系统生成可重用代码

如果你有嵌入式编码器®许可证,您可以为包含具有不同功能接口的可重用子系统组成的库生成库。有关更多信息,请参阅基于库的代码生成可重用库子系统(嵌入式编码器)

保留生成代码中的子系统边界

此示例显示如何保留虚拟子系统的边界。通过选择子系统参数归因于原子单位,您指示代码生成器为子系统构建代码,以便它作为原子单元执行。将系统标记为原子后,您可以通过设置块参数指定代码生成器在代码中的代码中的方式代码生成功能包装.你可以指定代码生成器为子系统生成以下代码实现:

  • 内联:在呼叫站点内填写子系统代码

  • 功能:具有I / O和全局数据结构中的内部数据的void / void函数

  • 可重用函数:可重入函数,数据作为函数参数的一部分传入

  • 自动:让Simuli金宝appnk编码器根据上下文优化实现

1.生成代码和代码生成报告。

2.使用生成的报告检查生成的源文件RTWDEMO_ATOMIC.c..为了魔法石,第1章,代码生成器会产生具有功能名称的可重用功能代码myfun.

金宝app如果选择参数,Simulink和Simulink编码器可以避免人工代数循环最小化代数循环出现.有关最小化代数循金宝app环出现的信息,请参阅Simulink文档。

示例模型

模型='rtwdemo_atomic';Open_System(型号);

相关的话题