Main Content

C++ MATLAB データ配列 API を使用した C++ ドライバー コードの記述

C++ 共有ライブラリの汎用インターフェイスを使用する基本的なワークフローは次のとおりです。

  • フリー関数 initMATLABApplication を呼び出します。この関数は、オプションで -nojvm-logfile などの実行時オプションのベクトルを取ります。関数は shared_ptr を返します。

  • matlab::data::ArrayFactory を初期化します。これを使用して、関数呼び出しに渡す matlab::data::Array オブジェクトを生成します。

  • 初期化するライブラリごとに、initMATLABLibrary を呼び出します。これは、次の 2 つのパラメーターを取ります。

    • initMATLABApplication によって返された shared_ptr のコピー

    • アーカイブ (.ctf ファイル) へのパス

  • 初期化されたライブラリの関数を呼び出すには、initMATLABLibrary によって返された unique_ptrfeval または fevalAsync を呼び出します。それぞれにいくつかのオーバーロード バージョンがあります。それらはすべて、最初のパラメーターとして MATLAB® 関数の名前を取ります。ただし、これらは単一の matlab::data::Array オブジェクト、matlab::data::Array の配列、またはネイティブ型を受け入れて返すかどうかという点で異なります。ネイティブ型を返す形式では、型をテンプレート パラメーターとして受け取る必要があります。

  • ライブラリを終了するには、ライブラリの unique_ptrreset を呼び出すか、ライブラリがスコープ外になるのを許可します。

  • アプリケーションを終了するには、アプリケーションの shared_ptrreset を呼び出すか、アプリケーションがスコープ外になるのを許可します。アプリケーションの下で作成されたすべてのライブラリが終了するか、スコープ外になるまで、アプリケーションは終了しません。

C++ MATLAB データ配列 API を使用したドライバー ファイルの例については、matlabroot\extern\examples\compilersdk\c_cpp\matrixmatrix_mda.cpp を参照してください。

 matrix_mda.cpp

関連するトピック