内联态函数生成的代码
内联为状态函数所生成的代码
默认情况下,代码生成器使用一个内部启发式来确定是否内联为状态函数所生成的代码。启发式考虑一个内联阈值。随着代码的增长和收缩的大小,为状态函数所生成的代码都是不可预知的。
如果你的模型包括Stateflow®对象和生成的代码之间的可溯性有严格的要求和相应的状态函数,您可以覆盖默认行为。使用国有资产内联函数的选择
显式地力量或防止内联的函数。
当你力内联
如果你强迫内联状态,代码生成器为国家行动到父函数内联代码。父函数包含代码执行国家行动,外转换和流程图。它不包括代码为空的状态的行为。
当你阻止内联
如果你避免内联状态,状态的代码生成器产生这些静态函数喷火。
函数 | 描述 |
---|---|
|
标志着 |
|
调用默认路径。 |
|
执行流程图时,产生一种内在的过渡和默认转换达到相同的连接在一个状态。 代码生成器产生这个函数只有当流程图足够复杂超过内联阈值。 在生成的代码中,Stateflow软件调用这个函数的 |
|
检查有效外转换,如果没有操作期间执行。 |
|
执行退出行为和标志 |
|
执行退出行为的孩子亚态,然后退出 |
在模型假设下面的图表米
。
如果你避免内联状态一个
这段代码,代码生成器生成。
静态孔隙M_inner_default_A(无效);静态孔隙M_exit_atomic_A(无效);静态孔隙M_A(无效);静态孔隙M_enter_atomic_A(无效);静态孔隙M_enter_internal_A(无效);
如何设置状态函数内联选择吗
为一个国家设置内联函数属性:
控制状态函数内联的最佳实践
来 | 集函数内联选择属性 |
---|---|
为每个操作生成一个单独的功能状态和一个单独的函数为每个亚态的行动 | 函数 为国家和每个亚态 |
生成一个单独的函数为每个动作的状态,但亚态包括代码相关的行动 | 函数 为国家和内联 每个亚态 |