内联子系统的代码
您可以配置一个nonvirtual子系统模型代码内联子系统的代码。在子系统参数对话框中,设置函数包装参数汽车
或内联
内联子系统生成的代码。
的汽车
选项是默认的。当只有一个实例的一个子系统模型汽车
选择内联子系统的代码。一个子系统存在的多个实例时,汽车
选择的结果在一个函数的副本(作为一个可重用的功能)。对于函数调用子系统与多个电话,如果你指定子系统代码生成那种一次性的功能
。
内联子系统代码,选择内联
。的内联
选择明确指导代码生成器内联无条件子系统。
配置子系统以内联代码
为内联配置子系统:
右键单击子系统块。从上下文菜单中,选择块参数(子系统)。
在子系统参数对话框,如果虚拟子系统,选择治疗作为原子单元。此选项使子系统nonvirtual。在代码生成选项卡,函数包装现在选择是可用的。
如果系统已经nonvirtual,函数包装选项已经被选中。
单击代码生成选项卡并选择
汽车
或内联
从函数包装参数。点击应用并关闭对话框。
子系统的边界变稠,这表明nonvirtual。
当你从模型生成代码,代码生成器内联子系统内部代码
或模型
。c
(或其母公司系统的源文件)。可以通过系统/识别代码块识别标签,如:模型
. cpp
/ *原子子系统:< Root > / AtomicSubsys1 * /
例外内联
在某些情况下,代码生成器不内联nonvirtual子系统,虽然内联选项被选中。
如果子系统由noninlined调用的函数调用子系统功能,内联选择将被忽略。通过使用函数指针Noninlined S-functions打电话。因此,函数调用子系统必须生成一个函数与所有参数。
在反馈回路包括函数调用子系统,代码生成器生成力量的一个子系统作为而非内联函数。基于子系统内部排序的顺序,选择的软件子系统生成函数。
如果一个子系统被称为一个功能块的设置选项
SS_OPTION_FORCE_NONINLINED_FCNCALL
来真正的
,这不是内联。当用户定义异步中断块或任务同步块,这个结果可能发生。等块必须生成功能。这些街区位于vxlib1
块库并使用SS_OPTION_FORCE_NONINLINED_FCNCALL
选择。这个图书馆展示了与一个例子RTOS (VxWorks的集成®)。(1]
(1]VxWorks是风河系统公司的注册商标®系统公司。