このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
内部データのゼロ初期化を削除
説明
ブロック状態やブロック出力などの内部の作業構造体の初期化コードをゼロとして生成するかどうかを指定します。
カテゴリ: 最適化
設定
既定の設定: [コード インターフェイスのパッケージ化] パラメーターを [再利用できない関数]
に設定すると、[内部データのゼロ初期化を削除] チェック ボックスはオンになります。コマンド ラインで、ZeroInternalMemoryAtStartup
を 'off'
に設定します。[コード インターフェイスのパッケージ化] パラメーターを [再利用可能な関数]
または [C++ クラス]
に設定した場合、[内部データのゼロ初期化を削除] チェック ボックスはオフ、ZeroInternalMemoryAtStartup
の設定は 'on'
になります。
オン
内部の作業構造体をゼロに初期化するコードを生成しません。
グローバル データについては、起動時に規格準拠の C および C++ コンパイラでゼロに初期化されるため、このデータのゼロ初期化コードを生成コードに含める必要はありません。動的に割り当てられるデータやローカル変数については、必ずしも規格準拠のコンパイラでゼロに初期化されるとは限りません。[内部データのゼロ初期化を削除] パラメーターをオンのままにする前に、モデルが次の条件を満たしていることを確認してください。
コンパイラが規格準拠でない場合、グローバル データがゼロに初期化されることを確認します。
[コード インターフェイスのパッケージ化] を
[再利用可能な関数]
または[C++ クラス]
に設定する場合、データが静的に割り当てられていることを確認し、動的に割り当てられる場合はデータがゼロに初期化されることを確認します。
このパラメーターを選択した場合でも、Initialize Functionブロックで指定したデータが生成コードで初期化されます。
オフ
内部の作業構造体をゼロに初期化するコードを生成します。
ストレージ クラスがインポートされたスコープをもつデータは、Initialize Functionブロックでそのデータを指定しない限り、生成コードで初期化されません。
[内部データのゼロ初期化を削除] チェック ボックスはオフになります。[コード インターフェイスのパッケージ化] パラメーターが [C++ クラス]
に設定され、モデルの初期化に動的メモリ割り当てを使用パラメーターが選択されたモデルでは、ZeroInternalMemoryAtStartup
が 'on'
に設定されて読み取り専用になります。
[コード インターフェイスのパッケージ化] パラメーターを [再利用可能な関数]
に設定し、Use dynamic memory allocation for model block instantiationパラメーターを選択すると、[内部データのゼロ初期化を削除] チェック ボックスはオフになり、ZeroInternalMemoryAtStartup
は 'on'
に設定されます。
依存関係
このパラメーターは ERT ベースのターゲットの場合にのみ表示されます。
このパラメーターには、コード生成時に Embedded Coder® が必要です。
コマンド ライン情報
パラメーター: ZeroInternalMemoryAtStartup |
値: 'off' | 'on' |
既定の設定: 'off' |
メモ
コマンド ライン値は設定値の逆です。コマンド ラインで、'on'
は設定セクションの "オフ" の説明に対応します。'off'
は設定セクションの "オン" の説明に対応します。
推奨設定
アプリケーション | 設定 |
---|---|
デバッグ | 影響なし |
トレーサビリティ | 影響なし |
効率性 | オン (GUI)、off (コマンド ライン)、(実行、ROM)、影響なし (RAM) |
安全対策 | 推奨なし |