Main Content

coder

MATLAB Coder アプリを開く

説明

coderMATLAB® Coder™ アプリを開きます。プロジェクトを作成するには、[ソース ファイルの選択] ページで、エントリポイント ファイル名を指定します。最初のエントリポイント ファイルの名前である既定の名前をもつプロジェクトが作成されます。既存のプロジェクトを開くには、アプリのツール バーで Action menu icon をクリックして [既存のプロジェクトを開く] を選択します。

Embedded Coder® 製品がインストールされている場合、アプリによってプロジェクトが作成されると Embedded Coder 機能が有効になります。Embedded Coder 機能が有効になると、コードの生成では Embedded Coder ライセンスが必要です。Embedded Coder 機能を無効にするには、プロジェクトのビルド設定の [すべての設定] タブの [詳細設定] で、[Embedded Coder 機能の使用][いいえ] に設定します。

coder projectname は、projectname.prj という名前の既存のプロジェクトを使用して MATLAB Coder アプリを開きます。

coder -open projectname は、projectname.prj という名前の既存のプロジェクトを使用して MATLAB Coder アプリを開きます。

coder -build projectname は、projectname.prj という名前の既存のプロジェクトをビルドします。

coder -new projectname は、MATLAB Coder アプリを開いて projectname.prj という名前のプロジェクトを作成します。Embedded Coder 製品がインストールされている場合、Embedded Coder 機能が有効になっているプロジェクトがアプリによって作成されます。これらの機能を無効にするには、プロジェクトのビルド設定の [すべての設定] タブの [詳細設定] で、[Embedded Coder 機能の使用][いいえ] に設定します。

coder -ecoder false -new projectname は、MATLAB Coder アプリを開いて projectname.prj という名前のプロジェクトを作成します。Embedded Coder 製品がインストールされていても、Embedded Coder 機能が無効になっているプロジェクトがアプリによって作成されます。

coder -tocode projectname -script scriptnameprojectname.prj という名前の既存のプロジェクトを、等価な MATLAB コマンドのスクリプトに変換します。このスクリプトの名前は scriptname になります。

  • scriptname が存在する場合、coder はそれを上書きします。

  • このスクリプトは、構成オブジェクト内のプロジェクトのビルド構成を再現してプロジェクトをビルドします。スクリプトは以下を実行します。

    • cfg という名前の構成オブジェクトを作成する。

    • 関数の入力の型用に変数 ARGS を定義する。

    • グローバル データの初期値用に変数 GLOBALS を定義する。

    • codegen コマンドを実行します。スクリプトを実行する場合、codegen の引数であるエントリポイント関数が検索パス上になければなりません。

  • cfgARGS および GLOBALS はスクリプトの実行後にのみベース ワークスペースに表示されます。

プロジェクトに固定小数点の自動変換が含まれている場合、coder は次の 2 つのスクリプトを生成します。

  • scriptname スクリプトには次を行う MATLAB コマンドが含まれます。

    • プロジェクトと同じ設定をもつコード構成オブジェクトを作成します。

    • codegen コマンドを実行して固定小数点の MATLAB 関数を固定小数点の C の関数に変換します。

  • ファイル名が scriptname で指定された名前と、プロジェクト ファイルで指定された生成される固定小数点のファイル名の接尾辞を連結した名前であるスクリプト。scriptname でファイルの拡張子が指定されている場合、スクリプトのファイル名にファイルの拡張子が含まれます。たとえば、scriptnamemyscript.m で、接尾辞が既定値の _fixpt である場合、スクリプト名は myscript_fixpt.m になります。

    このスクリプトには次を行う MATLAB コマンドが含まれています。

    • プロジェクトと同じ固定小数点変換の設定をもつ、浮動小数点から固定小数点への変換の構成オブジェクトを作成します。

    • codegen コマンドを実行して浮動小数点の MATLAB 関数を固定小数点の MATLAB 関数に変換します。

固定小数点変換を含むプロジェクトについては、プロジェクトをスクリプトに変換する前に、固定小数点変換プロセスの [数値のテスト] のステップを完了します。

coder -tocode projectname projectname.prj という名前の既存のプロジェクトを、等価な MATLAB コマンドのスクリプトに変換します。スクリプトをコマンド ウィンドウに書き出します。

coder -toconfig projectname は、MATLAB Coder プロジェクト ファイルに格納されているコード構成設定をコード構成オブジェクトにエクスポートします。このコマンドを実行すると、projectname に対応するコード構成オブジェクトが返されます。さまざまなプロジェクト ファイル設定に対してどのコード構成オブジェクトが返されるかの詳細については、ビルド構成設定の共有を参照してください。

cfg = coder('-toconfig','projectname') は、MATLAB Coder プロジェクト ファイルに格納されているコード構成設定を含む構成オブジェクトを返します。このコマンドを実行すると、projectname に対応するコード構成オブジェクト cfg が返されます。さまざまなプロジェクト ファイル設定に対してどのコード構成オブジェクトが返されるかの詳細については、ビルド構成設定の共有を参照してください。

coder -typeEditor は空の [コード生成の型エディター] ダイアログを開きます。ダイアログが既に開いている場合、このコマンドはそれを画面の手前に表示します。

コード生成の型エディターを使用した入力の型の作成と編集を参照してください。

すべて折りたたむ

my_coder_project という名前の既存の MATLAB Coder プロジェクトを使用して MATLAB Coder アプリを開きます。

coder -open my_coder_project

my_coder_project という名前の MATLAB Coder プロジェクトをビルドします。

coder -build my_coder_project

MATLAB Coder アプリを開き、my_coder_project という名前のプロジェクトを作成します。

coder -new my_coder_project

my_coder_project.prj という名前の MATLAB Coder プロジェクトを myscript.m という名前の MATLAB スクリプトに変換します。

coder -tocode my_coder_project -script my_script.m

2 つの値の合計を返す MATLAB 関数 myadd を定義します。

function y = myadd(u,v) %#codegen
y = u + v;
end

MATLAB Coder プロジェクト myadd.prj を作成します。

  • MATLAB Coder アプリを開きます。myadd をエントリ ポイント関数として指定します。

  • [入力の型を定義] ページで、u および v を double スカラーとして指定します。

  • [コード生成] ページで、[ビルド タイプ][MEX] に設定します。その他のプロジェクト ファイル設定は既定値のままにします。

MATLAB コマンド ラインで、次のコマンドを実行します。

cfg = coder('-toconfig','myadd.prj');

コード ジェネレーターによって、myadd.prj に格納されているコード構成設定が含まれる coder.MexCodeConfig オブジェクト cfg が作成されます。

cfg のプロパティを検査します。

cfg = 

    Description: 'class MexCodeConfig: MEX configuration objects with C code.'
    Name: 'MexCodeConfig'

-------------------------------- Report -------------------------------

                      GenerateReport: true
                        LaunchReport: false
                   ReportInfoVarName: ''
          ReportPotentialDifferences: false

------------------------------- Debugging -----------------------------

                     EchoExpressions: true
                     EnableDebugging: false
                  EnableMexProfiling: false

---------------------------- Code Generation --------------------------

                      ConstantInputs: 'CheckValues'
                           EnableJIT: false
                 FilePartitionMethod: 'MapMFileToCFile'
                         GenCodeOnly: false
    HighlightPotentialRowMajorIssues: true
                  PostCodeGenCommand: ''
             PreserveArrayDimensions: false
                            RowMajor: false
                          TargetLang: 'C'

------------------------ Language And Semantics -----------------------

           CompileTimeRecursionLimit: 50
              ConstantFoldingTimeout: 40000
             EnableDynamicMemoryAllocation: true
    DynamicMemoryAllocationThreshold: 65536
            EnableAutoExtrinsicCalls: true
              EnableRuntimeRecursion: true
                EnableVariableSizing: true
                      ExtrinsicCalls: true
                GlobalDataSyncMethod: 'SyncAlways'
               InitFltsAndDblsToZero: true
               PreserveVariableNames: 'None'
           SaturateOnIntegerOverflow: true

------------------------- C++ Language Features -----------------------

                        CppNamespace: ''

----------------- Safety (disable for faster execution) ---------------

                     IntegrityChecks: true
                ResponsivenessChecks: true

---------------- Function Inlining and Stack Allocation ---------------

                    InlineStackLimit: 4000
                     InlineThreshold: 10
                  InlineThresholdMax: 200
                       StackUsageMax: 200000

----------------------------- Optimizations ---------------------------

                        EnableMemcpy: true
                        EnableOpenMP: true
                     MemcpyThreshold: 64

------------------------------- Comments ------------------------------

                    GenerateComments: true
                MATLABSourceComments: false

------------------------------ Custom Code ----------------------------

                    CustomHeaderCode: ''
                       CustomInclude: ''
                   CustomInitializer: ''
                       CustomLibrary: ''
                        CustomSource: ''
                    CustomSourceCode: ''
                    CustomTerminator: ''
                   ReservedNameArray: ''

入力引数

すべて折りたたむ

作成する、開く、またはビルドする対象の MATLAB Coder プロジェクトの名前。プロジェクト名にスペースを使用しないでください。

-script オプションと共に -tocode オプションを使用するときに作成するスクリプトの名前。スクリプト名にスペースを使用しないでください。

出力引数

すべて折りたたむ

MATLAB Coder プロジェクト ファイルに格納されている構成設定を含むコード構成オブジェクト。

制限

  • 関数 coderMATLAB Online™ でサポートされていません。

ヒント

  • Embedded Coder ライセンスを共有している場合は、coder -ecoder false -new projectname を使用して、このライセンスを必要としないプロジェクトを作成します。Embedded Coder 製品がインストールされている場合、Embedded Coder 機能が無効になっているプロジェクトがアプリによって作成されます。この機能が無効になっている場合、コードの生成では Embedded Coder ライセンスが必要ありません。Embedded Coder 機能を有効にする場合、プロジェクトのビルド設定の [すべての設定] タブの [詳細設定] で、[Embedded Coder 機能の使用][はい] に設定します。

  • プロジェクトの作成または既存のプロジェクトを開くことによって、他の MATLAB Coder プロジェクトや固定小数点コンバーター プロジェクトは閉じられます。

  • インストールに Embedded Coder 製品が含まれていない場合、Embedded Coder 設定は表示されません。ただし、これらの設定の値はプロジェクト ファイルに保存されます。Embedded Coder 製品を含むインストール内のプロジェクトを開くと、これらの設定が表示されます。

  • 固定小数点コンバーター プロジェクトは固定小数点コンバーター アプリで開きます。プロジェクトを MATLAB Coder プロジェクトに変換するには、固定小数点コンバーター アプリで次の手順を実行します。

    1. Action menu icon をクリックして [次を使ってプロジェクトを再度開く] を選択します。

    2. [MATLAB Coder] を選択します。

代替方法

  • [アプリ] タブの [コード生成] セクションで、[MATLAB Coder] をクリックします。

  • 関数 codegen を使用して、コマンド ラインでコードを生成します。

バージョン履歴

R2011a で導入