メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ルート レベル I/O のゼロ初期化を削除

ゼロに設定されたルート レベル Inport と Outport の初期化コードの生成を制御する

モデル コンフィギュレーション ペイン: [コード生成] / [最適化]

説明

[ルート レベル I/O のゼロ初期化を削除] パラメーターは、ゼロに設定されたルート レベル Inport と Outport の初期化コードを生成するかどうかを指定します。

このパラメーターは、以下にマッピングするルート レベル Inport と Outport には適用されません。

  • 実行中または実行外の通信方法を使用するサービス インターフェイス。

  • カスタム ストレージ クラス デザイナーを使用して作成された TLC ベースのストレージ クラス。

設定

on | off
オン

ゼロに設定されたルート レベル Inport と Outport の初期化コードを生成しません。

起動時に、規格に準拠した C および C++ コンパイラは、グローバル データをゼロに初期化するため、このデータのゼロ初期化コードを生成コードに含める必要はありません。規格に準拠したコンパイラは、動的に割り当てられたデータおよびローカル変数を必ずしもゼロに初期化するわけではありません。[ルート レベル I/O のゼロ初期化を削除] パラメーターを選択したままにする前に、モデルが次の条件を満たすことを確認してください。

  • コンパイラが規格に準拠したものでない場合、グローバル データがゼロに初期化されることを確認します。

  • [コード インターフェイスのパッケージ化] パラメーターを [再利用可能な関数] に設定している場合、データが静的に割り当てられているか、動的に割り当てられたデータがゼロに初期化されることを確認します。

このパラメーターを選択した場合でも、生成コードはInitialize Functionブロックで指定したデータを初期化します。

オフ

ルート レベル Inport と Outport の初期化コードを生成します。

生成コードは、データをInitialize Functionブロックで指定した場合を除き、インポートされたスコープをもつストレージ クラスのデータを初期化しません。生成コードは、Initialize Function ブロックに接続した Inport を初期化しません。生成コードは、実行外または実行中のデータ通信方法を使用するサービス インターフェイスにマッピングされるデータを初期化しません。

[コード インターフェイスのパッケージ化] モデル コンフィギュレーション パラメーターを [再利用できない関数] に設定した場合、既定では、[ルート レベル I/O のゼロ初期化を削除] チェック ボックスがオンになります。コマンド ラインで、ZeroExternalMemoryAtStartupoff に設定されます。

[コード インターフェイスのパッケージ化] パラメーターを [再利用可能な関数] に設定した場合、既定では、[ルート レベル I/O のゼロ初期化を削除] チェック ボックスがオフになります。コマンド ラインで、ZeroExternalMemoryAtStartupon に設定されます。

[コード インターフェイスのパッケージ化] パラメーターを [C++ クラス] に設定した場合、[ルート レベル I/O のゼロ初期化を削除] チェック ボックスがオンになり、変更できません。コマンド ラインで、ZeroExternalMemoryAtStartupoff に設定されます。

[コード インターフェイスのパッケージ化] パラメーターを Reusable function に設定して、モデルの初期化に動的メモリ割り当てを使用パラメーターを選択した場合、[ルート レベル I/O のゼロ初期化を削除] チェック ボックスがオフになり、ZeroExternalMemoryAtStartupon に設定されます。

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン (GUI)、off (コマンド ライン) (実行、ROM)、影響なし (RAM)
安全対策推奨なし

プログラムでの使用

パラメーター: ZeroExternalMemoryAtStartup
型: 文字ベクトル
値: 'off' (UI 設定オン) | 'on' (UI 設定オフ)
既定: 'off'

バージョン履歴

R2007a で導入