リリ,ス間での共有ユ,ティリティコ,ドの再利用
モデルのコードを生成すると,既定ではコードジェネレーターはモデルが必要とする共有ユーティリティファイルを作成します。別のリリースのコードを生成すると,コードジェネレーターは機能的には同一であるが,機能以外に一部の違いが含まれる共有ファイルを生成する可能性があります。たとえば,異なるコメントや異なるコ,ディングスタ,ルなどです。同じリリースを使用して,異なるフォルダーに異なるモデル用のコードを生成する場合にも,機能以外の違いのある共有ファイルが生成される可能性もあります。たとえば,モデルに異なるParenthesesLevel
またはExpressionFolding
の値を指定した場合,コードジェネレーターは異なるコメントまたは異なるコーディングスタイルをもつ共有ファイルを生成する可能性があります。
機能的に同一の共有ファ▪▪ルを含む統合コ▪▪ドには次のような問題があります。
それぞれの共有ファesc escルを検証する必要があるため,検証により多くの時間がかかる。
重複するシンボルを共有ファ@ @ルが定義している場合,コンパ@ @ルエラ@ @が生じる。
嵌入式编码器®ライセンスがある場合は,検証済みコードの読み取り専用ライブラリなど,既存のフォルダーから共有コードの再利用を指定してこれらの問題を回避できます。この場合,コドジェネレタは新しい共有ユティリティファルを作成しません。ビルドプロセスでは,外部コードまたはフォルダー内の以前生成した共有ユーティリティコードを使用します。管理者が読み取り専用ラ@ @ブラリを維持および更新します。
共有ユティリティコドを再利用するためのワクフロ
[コンフィギュレションパラメタ]ダアログボックスで,以下の操作を実行します。
[既存の共有コ,ド]フィ,ルドに,共有コ,ドフォルダ,の絶対パスを入力します。
[既存の共有コ,ドのみを使用]診断が
[エラ]
(既定値)に設定されていることを確認します。
slprj
フォルダ,を削除するか,新しい作業フォルダ,に移動します。モデルをビルドします。エラーが表示されなかった場合,共有コードフォルダーには必要な共有ユーティリティファイルが含まれています。
既存の共有コドフォルダのファルが不足している場合,エラが表示されます。不足している共有ユーティリティファイルのローカルに生成されたバージョンを使用してコード生成を継続するには,次を行います。
[既存の共有コ,ドのみを使用]診断を
[警告]
に設定します。モデルをリビルドします。コード生成プロセスでは,不足している共有ユーティリティファイルのローカルに生成されたバージョンが使用されます。
検証済みコードライブラリの管理者にモデルを提供し,不足している共有ユーティリティファイルの情報を伝えます。管理者はこのモデルを使用して必要な共有ユティリティファルを生成します。管理者は
sharedCodeUpdate
を使用してこのファルを既存の共有コドフォルダに追加します。以前のリリースからエクスポートしたコンポーネントの共有コードを再利用しなければならない場合は,管理者にコンポーネントのビルドフォルダーの場所に関する情報を提供してください。管理者は
sharedCodeUpdate
を使用してコンポネントの共有コドを既存の共有コドフォルダにコピできます。ファルが既存の共有コドフォルダで使用可能になったら,手順1 ~ 3を繰り返します。
共有ユ,ティリティコ,ドがモデル間で共有されるラ@ @ブラリサブシステムから生成される場合,このコ,ドをリリ,ス“間”で再利用することはできません。このコードはリリース固有のものであり,シンボル名やファイル名マングリングにはリリース番号が含まれているためです。管理者は、各リリースに対して生成された共有ユーティリティ コードを共有コード フォルダーに追加しなければなりません。
関数
sharedCodeUpdate
は,共有コドフォルダに同じ内容のファルを異なるファル名と関数名で追加できます。この動作は,独自の共有ユーティリティ関数を必要とする異なるモデルコンポーネントがある場合に役立ちます。一部のコードは重複しますが,異なるモデルコンポーネントはそれぞれ検証済みの共有ユーティリティ関数にアクセスできます。モデルコンポーネントが固有のバージョンの共有ユーティリティ関数をもつように強制するには,モデル名を共有ユ,ティリティ識別子に挿入するように命名規則を設定します。
共有ユ,ティリティコ,ドの再利用に必要な編集
ほとんどの共有ユーティリティコードファイルでは,ファイルを変更せずにリリース間で再利用できるマスターコピーを指定できます。rtwtypes.h
やzero_crossing_types.h
などの一部のファイルでは,異なるリリースから生成されたコードが使用可能なマスターコピーを生成するために,手動での編集が必要になる状況があります。以下に例を示します。
R2013a以前のリリ、スで生成された
rtwtypes.h
ファ@ @ルにはチェックサムが含まれています。/*该ID用于检测包含不兼容的rtwtypes.h */ #define RTWTYPES_ID_C08S16I32L64N64F0
rtwtypes.h
ファ#定义
ステ,トメントをrtwtypes.h
のマスタ,コピ,にコピ,してください。R2015aでは,ゼロクロッシングの定義が
rtwtypes.h
からzero_crossing_types.h
に移動しました。異なるリリ,スから生成されたモデルコ,ドと互換性のあるrtwtypes.h
ファ电子邮箱ルを作成するには,rtwtypes.h
のマスタ,コピ,に次のステ,トメントを挿入します。# include“zero_crossing_types.h”
zero_crossing_types.h
が提供する定義をrtwtypes.h
から削除します。
参考
sharedCodeUpdate
|crossReleaseImport