主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

组合信号/状态结构

是否将全局模块信号和状态数据组合成一个结构

模型配置窗格: 代码生成 / 接口

描述

组合信号/状态结构体参数指定代码生成器是否将全局模块信号和状态数据组合成一个数据结构。

设置

Off (默认) | On
On

支持将全局模块信号数据(模块 I/O)和全局状态数据(DWork 向量)生成到一个数据结构中。

Off

禁止将全局模块信号和状态数据生成到一个数据结构中。代码生成器为全局模块信号和全局状态生成单独的数据结构。

示例

全部展开

  1. 对于生成以下代码的模型:

    /* Block signals (auto storage) */
    typedef struct {
      struct {
        uint_T LogicalOperator:1;
        uint_T UnitDelay1:1;
      } bitsForTID0;
    } BlockIO;
    /* Block states (auto storage) */
    typedef struct {
      struct {
        uint_T UnitDelay_DSTATE:1
        uint_T UnitDelay1_DSTATE:1
      } bitsForTID0;
    } D_Work;
  2. 如果选择组合信号/状态结构体,生成的代码现在如下所示:

    /* Block signals and states (auto storage)
       for system */
    typedef struct {
      struct {
        uint_T LogicalOperator:1;
        uint_T UnitDelay1:1;
        uint_T UnitDelay_DSTATE:1;
        uint_T UnitDelay1_DSTATE:1;
      } bitsForTID0;
    } D_Work;

提示

选择此参数的好处是:

  • 通过更少的位字段实现更紧密的内存表示,从而减少 RAM 使用量

  • 实现数据结构元素的更好对齐,从而减少 RAM 使用量

  • 减少可重用子系统和模型模块函数的参量数量,从而减少堆栈使用量

  • 具有更一致的元素排序的更可读的数据结构

推荐的设置

应用情形设置
调试无影响
可追溯性无影响
效率On
安全预警无影响

编程用法

参数:CombineSignalStateStructs
类型:字符向量
值: 'on' | 'off'
默认值:off

版本历史记录

在 R2011a 中推出