删除根级别 I/O 零初始化
控制根级输入端口和输出端口的初始化代码生成设置为零
模型配置窗格: 代码生成 / 优化
描述
删除根级 I/O 零初始化参数指定是否为设置为零的根级输入端口和输出端口生成初始化代码。
此参数不适用于您映射到的根级输入端口和输出端口:
使用执行期间或执行外部通信方法的服务接口。
使用自定义存储类设计器创建的基于 TLC 的存储类。
设置
on | off- On
不为设置为零的根级输入端口和输出端口生成初始化代码。
在启动期间,符合标准的 C 和 C++ 编译器将全局数据初始化为零,从而无需在生成的代码中包含此数据的零初始化代码。符合标准的编译器不一定将动态分配的数据和局部变量初始化为零。在选择删除根级 I/O 零初始化参数之前,请确认您的模型满足以下条件:
如果您的编译器不符合标准,请确认它将全局数据初始化为零。
如果将代码接口打包参数设置为可重用函数,请确认数据是静态分配的,或者动态分配的数据已初始化为零。
即使您选择此参数,生成的代码也会初始化您在 Initialize Function模块中指定的数据。
- Off
为根级输入端口和输出端口生成初始化代码。
生成的代码不会初始化存储类具有导入范围的数据,除非您在 Initialize Function模块中指定该数据。生成的代码不会初始化连接到 Initialize Function 模块的输入端口。生成的代码不会初始化映射到使用外部执行或执行期间数据通信方法的服务接口的数据。
如果将代码接口打包模型配置参数设置为不可重用函数,则默认情况下会选中删除根级 I/O 零初始化复选框。在命令行中,ZeroExternalMemoryAtStartup 被设置为 off。
如果将代码接口打包参数设置为可重用函数,则默认情况下会清除删除根级 I/O 零初始化复选框。在命令行中,ZeroExternalMemoryAtStartup 被设置为 on。
如果将代码接口打包参数设置为 C++ 类,则删除根级 I/O 零初始化复选框将被选中且无法更改。在命令行中,ZeroExternalMemoryAtStartup 被设置为 off。
如果将代码接口打包参数设置为 Reusable function 并选择 使用动态内存分配进行模型初始化 参数,则删除根级 I/O 零初始化复选框将被清除,并且 ZeroExternalMemoryAtStartup 将设置为 on。
推荐的设置
| 应用情形 | 设置 |
|---|---|
| 调试 | 无影响 |
| 可追溯性 | 无影响 |
| 效率 | On (GUI),off(命令行)(执行,ROM)、无影响 (RAM) |
| 安全预警 | 无建议 |
编程用法
参数:ZeroExternalMemoryAtStartup |
| 类型:字符向量 |
值:'off'(UI 设置开启)| 'on'(UI 设置关闭) |
默认值:'off' |
版本历史记录
在 R2007a 中推出