C++ コンパイル済みライブラリの関数の呼び出し
C++ ライブラリに対する MATLAB® インターフェイスのパブリッシャーから、インターフェイス ファイルと必要な場合は依存ライブラリ ファイルをインストールするように指示されます。パブリッシャーから依存ライブラリ ファイルが提供されるか、外部ソースからライブラリをインストールするように指示されるか、すべての関連ファイルへのリンクが提供されます。パブリッシャーが MATLAB アドオン を使用してツールボックスを作成した場合、この情報は、[アドオン マネージャー] のツールボックスの [オプション] メニューから表示できる入門ガイドで参照できます。詳細な情報が必要な場合や、入門ガイドが見つからない場合は、パブリッシャーにお問い合わせください。アドオンの詳細については、アドオンの管理を参照してください。
ライブラリ libname のインターフェイス ファイルの名前は libnameInterface. です。extext はプラットフォーム固有であり、Windows® では .dll、Linux® では .so、macOS では .dylib です。
ランタイム パスの設定
MATLAB で検索されるのは、インターフェイス ファイルについては MATLAB パス、依存ライブラリ ファイルについてはシステム パスまたはランタイム検索パス (rpath) です。パブリッシャーから依存ライブラリ ファイルが提供された場合は、それらをインターフェイス ファイルと同じフォルダーに配置できます。あるいは、それらをシステム パスに追加するには、C++ インターフェイス用のランタイム ライブラリ パスの設定を参照してください。依存ライブラリの配置の詳細については、Missing or Incorrectly Installed Run-Time Librariesを参照してください。
MATLAB パスの設定
インターフェイス ファイルを含むフォルダーで addpath を呼び出します。
ヘルプの表示
MATLAB の関数 help と関数 doc は、ライブラリのメンバーについてのヘルプを提供します。たとえば、ライブラリ libname 内の関数 funcname のヘルプを表示するには、次のように入力します。
help clib.libname.funcnameオーバーロードされた関数からの選択
オーバーロードされた関数の場合、MATLAB はMATLAB Type to C++ Type Mappingに基づいて、特定のデータ型に最も近い入力データ型をもつ関数を選択します。
関数の呼び出し
入力引数 arg1,arg2,... と出力引数 retVal を使用して C++ ライブラリ libname の関数 funcname を呼び出すには、MATLAB clib 名前空間を使用します。以下を入力すると、MATLAB は自動的にライブラリを読み込みます。
retVal = clib.libname.funcname(arg1,arg2,...)
MATLAB がライブラリを読み込んだ後、タブ補完を使用して clib 名前空間のメンバーを表示できます。
既定の引数を使用した関数の呼び出し
C++ 関数が既定の引数で定義されている場合は、1 つ以上の後続の引数を指定することなく関数を呼び出すことができます。関数のヘルプで既定値が示されます。たとえば、arg の型が double で、その既定値が 100 の場合は、ヘルプでは以下のように表示されます。
help clib.libname.funcnameclib.libname.funcname(arg)
Input Arguments
arg double = 100以下のステートメントでは、同じ結果が生成されます。
clib.libname.funcname clib.libname.funcname(100)
以下のステートメントも正しいですが、結果が異なる場合があります。
clib.libname.funcname(99)
MATLAB では、スカラー整数型および浮動小数点型で既定の引数がサポートされます。
enum 引数を使用した関数の呼び出し
C++ ライブラリ libname 内の clib. を入力引数として受け入れる C++ の関数やメソッドに string を渡すことができます。libname.enum
たとえば、clib.libname.Days を入力として受け取る関数 getValue を含む C++ ライブラリ libname の MATLAB インターフェイスがあるとします。
help clib.libname.getValuegetValue - clib.libname.getValue Representation of C++ function getValue.
RetVal = clib.libname.getValue(D)
Input Arguments
D clib.libname.Days
Output Arguments
RetVal int32 clib.libname.Days の値を表示するには、以下を入力します。
doc clib.libname.DaysEnumeration Summary Fri Mon Sat Sun Thu Tue Wed
clib.libname.Days.Sun または string "Sun" のいずれかを指定して getValue を呼び出すことができます。
clib.libname.getValue(clib.libname.Days.Sun)
clib.libname.getValue("Sun")ans = 106