Main Content

C++ MATLAB データ API 共有ライブラリの統合

MATLAB® データ API を使用して、パッケージ化された MATLAB 関数を作成し C++ アプリケーションに統合する

MATLAB データ API を使用する共有ライブラリには、最新の C++ セマンティクスを使用する汎用インターフェイスがあります。このインターフェイスは C++11 の機能をサポートしており、タイプセーフティやマルチスレッドセーフティなどいくつかの点で mwArray API より優れています。このインターフェイスでは、アプリケーションの初期化と終了を正常に実行するための関数を使用できます。このインターフェイスはプロセス内でもプロセス外でも実行でき、また関数を非同期的に呼び出すことができます。詳細については、C++ 用の MATLAB データ APIを参照してください。

関数 共有ライブラリの作成 共有ライブラリのビルド オプション
mbuildCompile and link source files against MATLAB generated shared libraries
mccデプロイする MATLAB 関数のコンパイル


matlab::cpplib::initMATLABApplicationStart the MATLAB Runtime and initialize its application state
matlab::cpplib::runMainExecute a function with its input arguments within the main function
matlab::cpplib::convertUTF8StringToUTF16StringConvert UTF-8 string to UTF-16 string
matlab::cpplib::convertUTF16StringToUTF8StringUTF-16 文字列から UTF-8 文字列への変換
matlab::cpplib::initMATLABLibraryInitialize a library of MATLAB functions packaged in a deployable archive file
matlab::cpplib::initMATLABLibraryAsyncInitialize a library of MATLAB function asynchronously
matlab::cpplib::MATLABLibrary::fevalExecute a MATLAB function from a deployable archive
matlab::cpplib::MATLABLibrary::fevalAsyncExecute a MATLAB function from a deployable archive asynchronously
matlab::cpplib::MATLABLibrary::waitForFiguresToCloseすべての Figure が閉じるまで待機する


C++ MATLAB データ配列 API 共有ライブラリの作成と実装

C++ 共有ライブラリと C++ アプリケーションの統合




  • Memory Management and Cleanup
    See recommendations on memory management.
  • Understand the mclmcrrt Proxy Layer
    All application and software components generated by MATLAB Compiler™ and MATLAB Compiler SDK need to link against only one MATLAB library, mclmcrrt. This library provides a proxy API for all the public functions in MATLAB libraries used for matrix operations, MAT-file access, utility and memory management, and application MATLAB Runtime. The mclmcrrt library lies between deployed MATLAB code and these other version-dependent libraries, providing the following functionality:
  • Troubleshoot mbuild
    Issues involving the mbuild utility and creating standalone applications.