主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

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(“编译”,规格compilerOptions)は,レガシコルにより生成されるS-Functionのコンパルとリンクを行います。コンパ,ルとリンクは,デ,タ構造体,规格,および指定されたコンパescラのオプションに基づいて行われます。コンパ@ @ラオプションは墨西哥人関数によりサポ,トされていなければなりません。

legacy_code(“generate_for_sim”,规格modelname)はS-Functionの生成,コンパaaplル,リンクをまとめて1ステップで行います。レガシコドタ構造体の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-以下のいずれかにすることができます。

  • “继承”(既定の設定)-サンプル時間は,ソ.スブロックから継承されます。

  • “参数化”—サンプル時間は,調整可能なパラメタとして表されます。生成コ,ドは,mxGetPrまたはmxGetDataのようなmex API関数を呼び出すことによって,パラメ,タ,にアクセスできます。

  • 固定-サンプル時間を明示的に指定します。サンプル時間を指定する方法の詳細は,サンプル時間の指定を参照してください。

このフィ,ルドを指定する場合,最後に指定しなければなりません。

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この引数を省略すると,空のモデルエディタ,ウィンドウにブロックが表示されます。

バ,ジョン履歴

R2006bで導入