このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
legacy_code
レガシコドルの使用
構文
legacy_code(“帮助”)
规格
= legacy_code(初始化)
legacy_code(“sfcn_cmex_generate”,规格
)
legacy_code(“编译”,规格
,compilerOptions
)
legacy_code(“generate_for_sim”,规格
,modelname
)
legacy_code(“slblock_generate”,规格
,modelname
)
legacy_code(“sfcn_tlc_generate”,规格
)
legacy_code(“sfcn_makecfg_generate”,规格
)
legacy_code(“rtwmakecfg_generate”,规格
)
legacy_code(“backward_compatibility”)
説明
関数legacy_code
は,既存のCまたはc++コードと生成中のs函数に対する仕様を登録するために,MATLAB®構造体を作成します。さらに,この関数は指定したs函数に対して,生成,コンパイルとリンク,マスク設定されたブロックを作成できます。他のオプションとして,以下を生成する機能があります。
アクセラレタモドでのシミュレションまたはコド生成のためのTLCファル
生成されたs函数のディレクトリと異なるディレクトリにある関連したソースとヘッダーファイルを指定するために,ユーザーがカスタマイズできる
rtwmakecfg.m
ファereplicationル
legacy_code(“帮助”)
は,レガシコ,ド,ルの使い方に関するヘルプを表示します。
は,レガシコドルでデタ構造体规格
= legacy_code(初始化)规格
を初期化します。これは,既存のCまたはc++コードの特性と,レガシコードツールが生成するs函数のプロパティを登録します。
legacy_code(“sfcn_cmex_generate”,
は,レガシコドルのデタ構造体规格
)规格
で指定される,S-Functionソスファルを生成します。
legacy_code(“编译”,
は,レガシコルにより生成されるS-Functionのコンパルとリンクを行います。コンパ,ルとリンクは,デ,タ構造体,规格
,compilerOptions
)规格
,および指定されたコンパescラのオプションに基づいて行われます。コンパ@ @ラオプションは墨西哥人関数によりサポ,トされていなければなりません。
legacy_code(“generate_for_sim”,
はS-Functionの生成,コンパaaplル,リンクをまとめて1ステップで行います。レガシコドタ構造体の规格
,modelname
)Options.useTlcWithAccel
フィルドがlogical 1 (真正的
)に設定されている場合,この関数もまた,高速シミュレ,ション用のTLCファ,ルを生成します。
legacy_code(“slblock_generate”,
は,デ,タ構造体规格
,modelname
)规格
に基づいて,レガシコードツールで生成されるs函数に対するマスク設定されたs函数ブロックを生成します。このブロックは,modelname
で指定されるS金宝appimulink®モデルに表示されます。modelname
を省略すると,ブロックは空のモデルエディタ,ウィンドウに表示されます。
legacy_code(“sfcn_tlc_generate”,
は,デ,タ構造体规格
)规格
に基づいて,レガシコードツールで生成されるs函数に対するTLCファイルを生成します。このオプションは,以下を行う場合に設定します。
金宝app仿真软件のアクセラレータモードで,生成されたs函数のTLCインラインコードを使用する場合。詳細にいては,関数SimStructの
ssSetOptions
とS-FunctionのオプションSS_OPTION_USE_TLC_WITH_ACCELERATOR
の説明を参照してください。金宝appSimulinkモデルからコ,ドを生成するために金宝app仿真软件编码器™を使用する場合。詳細にいては,レガシコードツールによって外部コードへの呼び出しを生成コードにインポート(金宝app仿真软件编码器)を参照してください。
legacy_code(“sfcn_makecfg_generate”,
は,デ,タ構造体规格
)规格
に基づいて,レガシコ,ド,,ルで生成されるS-Functionに対するsFunction
_makecfg.m
ファ@ @ルを生成します。金宝appSimulinkモデルからコ,ドを生成するために金宝app仿真软件编码器を使用する場合は,このオプションを使用して,s函数のビルドプロセス用の追加項目(ソースフォルダー,プリプロセッサマクロ,リンクオブジェクトなど)を指定できます。たとえば,生成されたs函数実行可能ファイルを含むフォルダー以外のフォルダーにある,s函数が依存するファイルソースファイルを指定できます。詳細にいては,生成されるmakefileをmakecfgを使用してs函数用にカスタマイズする(金宝app仿真软件编码器)およびレガシコードツールによって外部コードへの呼び出しを生成コードにインポート(金宝app仿真软件编码器)を参照してください。
legacy_code(“rtwmakecfg_generate”,
は,デ,タ構造体规格
)规格
に基づいて,レガシコ,ド,,ルで生成されるS-Functionに対するrtwmakecfg.m
ファ@ @ルを生成します。金宝appSimulinkモデルからコ,ドを生成するために金宝app仿真软件编码器を使用する場合は,このオプションを使用して,s函数のビルドプロセス用の追加項目(ソースフォルダー,プリプロセッサマクロ,リンクオブジェクトなど)を指定できます。たとえば,生成されたs函数実行可能ファイルを含むフォルダー以外のフォルダーにある,s函数が依存するファイルソースファイルを指定できます。詳細にいては,生成されたmakefileをrtwmakecfg。m APIを使用してカスタマaaplズ(金宝app仿真软件编码器)およびレガシコードツールによって外部コードへの呼び出しを生成コードにインポート(金宝app仿真软件编码器)を参照してください。
legacy_code(“backward_compatibility”)
は,レガシコードツールの使用に対する構文を,サポートされている構文(このドキュメントのリファレンスページおよび使用遗留代码工具集成C函数で説明されている)に自動的に更新します。
入力引数
-
规格
-
構造体には次のフィ,ルドがあります。
S-Functionの名前
SFunctionName
(必須)——レガシコードツールで生成されるs函数の名前を指定する文字ベクトル。レガシコドルでの関数指定
InitializeConditionsFcnSpec
——功能が状態を初期化しリセットするために呼び出す関数を指定する,空でない文字ベクトル。声明遗留代码工具功能规范で説明されているように,金宝app仿真软件が解釈できるトークンを使ってこの関数を宣言しなければなりません。OutputFcnSpec
- S-Functionが各タaaplムステップで呼び出す関数を指定する,空でない文字ベクトル。声明遗留代码工具功能规范で説明されているように,金宝app仿真软件が解釈できるトークンを使ってこの関数を宣言しなければなりません。StartFcnSpec
- S-Functionが実行を開始するときに呼び出す関数を指定する文字ベクトル。この関数は,S-Functionパラメ,タ,引数と作業デ,タにアクセスできます。声明遗留代码工具功能规范で説明されているように,金宝app仿真软件が解釈できるトークンを使ってこの関数を宣言しなければなりません。TerminateFcnSpec
- S-Functionが実行を終了するときに呼び出す関数を指定する文字ベクトル。この関数は,S-Functionパラメ,タ,引数と作業デ,タにアクセスできます。声明遗留代码工具功能规范で説明されているように,金宝app仿真软件が解釈できるトークンを使ってこの関数を宣言しなければなりません。
コンパ▪▪ルのリソ▪▪スの定義
HeaderFiles
—コンパesc esc esc esc esc esc esc esc esc esc esc esc esc esc源文件
—コンパesc esc esc esc esc esc esc esc esc esc esc esc esc esc絶対パス名または相対パス名を使ってソスファルを指定できます。HostLibFiles
-ホストのコンパ▪▪ルに必要となるラ▪▪ブラリファ▪▪ルを指定する文字ベクトルのcell配列。絶対パス名または相対パス名を使ってラ▪▪ブラリファ▪▪ルを指定できます。TargetLibFiles
——ターゲット(つまり,スタンドアロン)のコンパイルに必要となるライブラリファイルを指定する文字ベクトルの细胞配列。絶対パス名または相対パス名を使ってラ▪▪ブラリファ▪▪ルを指定できます。IncPaths
—ヘッダファルを含むディレクトリを指定する文字ベクトルのcell配列。絶対パス名または相対パス名を使ってディレクトリを指定できます。SrcPaths
—ソスファルを含むディレクトリを指定する文字ベクトルのcell配列。絶対パス名または相対パス名を使ってディレクトリを指定できます。LibPaths
——ホストやターゲットのライブラリファイルを含むディレクトリを指定する文字ベクトルの细胞配列。絶対パス名または相対パス名を使ってディレクトリを指定できます。
サンプル時間の指定
SampleTime
-以下のいずれかにすることができます。このフィ,ルドを指定する場合,最後に指定しなければなりません。
S-Functionオプションの定義
选项
- S-Functionオプションを制御する構造体。この構造体には,次のフィ,ルドがあります。canBeCalledConditionally
- S-FunctionのSS_OPTION_CAN_BE_CALLED_CONDITIONALLY
オプションの設定を指定する逻辑値。既定の設定では,値は真(1
)です。convertNDArrayToRowMajor
-行列の列優先の形式と行優先の形式の自動変換を指定するlogical値。MATLAB,金宝app Simulink,生成コ,ドでは列優先の形式が使用されます。Cでは行優先の形式が使用されます。既定値は假
(0
)です。現在,このオプションの以前のバ,ジョンconvert2DMatrixToRowMajor
を指定している場合,この関数によって自動的に新しいconvertNDArrayToRowMajor
オプションが指定されます。メモ
このオプションでは複素数デタの2次元行列はサポトされません。
isMacro
—レガシコドがCマクロであるかどうかを指定するlogical値。既定の設定では,値は假(0
)です。isVolatile
- S-FunctionのSS_OPTION_NONVOLATILE
オプションの設定を指定する逻辑値。既定の設定では,値は真(1
)です。语言
-レガシコドルが生成するS-Functionのタゲット言語として,“C”
または“c++”
を指定する文字ベクトル。既定の設定では,値は“C”
です。メモ
レガシコードツールは,c++関数とインターフェイスで接続することができますが,c++オブジェクトとは接続できません。この問題に関しては,金宝appSimulinkドキュメンテ,ションの遗留代码工具限制を参照してください。
outputsConditionallyWritten
—レガシコドが条件付きで出力端子を記述するかどうかを指定するlogical値。真正的
の場合,生成されたs函数は,各出力端子に関連付けられたメモリは上書きできず,グローバルである(SS_NOT_REUSABLE_AND_GLOBAL
)ことを指定します。假
の場合,各出力端子に関連付けられたメモリは再利用可能でロ,カルです(SS_REUSABLE_AND_LOCAL
)。既定の設定では,値は假
(0
)です。詳細にいては,ssSetOutputPortOptimOpts
を参照してください。singleCPPMexFile
-真正的
の場合に生成コドが以下の条件を満たすlogical値。拡張子が
. c
と.tlc
である2のファルとしてではなく,. cpp
である1つのファイルとして,インラインs函数を生成して管理することが必要です。モデルのコンフィギュレーションパラメーターで指定されるように,モデルのコードスタイル(式内の小かっこ使用のレベル,式内のオペランドの順序の保持,如果ステートメント内の条件式)を保持します。
既定の設定では,値は
假
です。制限
以下の場合は,
singleCPPMexFile
フィ,ルドを真正的
に設定できません。Options.language =“c++”
次のS金宝appimulinkオブジェクトのいずれかを使用して,
IsAlias
プロパティを真正的
に設定する場合金宝app仿真软件。公共汽车
金宝app仿真软件。AliasType
金宝app仿真软件。NumericType
レガシコドルの関数の仕様で,状態引数としてスカラ作業デタを表現するための
void *
またはvoid * *
を含む場合レガシコドル構造体の
HeaderFiles
フィルドで,複数のヘッダファルを指定する場合
金宝appsupportsMultipleExecInstances
- 関数ss金宝appSupportsMultipleExecInstances
の呼び出しを含めるかどうかを指定する逻辑値。既定の設定では,値は假
(0
)です。金宝appsupportCodeReuseAcrossModels
——生成されたs函数をモデル参照階層全体で再利用できるかどうかを指定する逻辑値。真正的
の場合,生成されたS-FunctionにはssSet金宝appSupportedForCodeReuseAcrossModels
関数呼び出しが含まれます。コドジェネレタは,S-Functionのコドをslprj \ ert \ _sharedutils
フォルダ,内に生成します。金宝appsupportCoverage
——生成されたs函数がモデルカバレッジと互換性がなければならないかどうかを指定する逻辑値。既定の設定では,値は假
(0
)です。金宝appsupportCoverageAndDesignVerifier
-生成されたS-Functionがモデルカバレッジおよび金宝appSimulink设计验证器™と互換性がなければならないかどうかを指定する逻辑値。既定の設定では,値は假
(0
)です。useTlcWithAccel
- S-FunctionのSS_OPTION_USE_TLC_WITH_ACCELERATOR
オプションの設定を指定する逻辑値。既定の設定では,値は真(1
)です。
-
modelname
-
アクション文字ベクトル
“slblock_generate”
を使ってlegacy_code
を指定する場合に,レガシコードツールによって,生成されるマスクされたs函数ブロックが挿入される仿真软件モデルの名前。金宝appこの引数を省略すると,空のモデルエディタ,ウィンドウにブロックが表示されます。
バ,ジョン履歴
参考
トピック
- 使用遗留代码工具集成C函数
- レガシコードツールによって外部コードへの呼び出しを生成コードにインポート(金宝app仿真软件编码器)