loadlibrary
を使用して読み込まれた C ライブラリでの関数の呼び出し
共有ライブラリは、実行時にアプリケーションによって動的に読み込まれる関数のコレクションです。MATLAB® R2021b 以前のこのインターフェイスは、C ヘッダー ファイルで定義されている関数を含むライブラリをサポートします。C または C++ ライブラリの関数を呼び出すには、MATLAB からの C++ の呼び出しで説明されているインターフェイスを参照してください。
MATLAB は、サポートされているすべてのプラットフォーム上でダイナミック リンクをサポートします。
プラットフォーム | 共有ライブラリ | ファイルの拡張子 |
---|---|---|
Microsoft® Windows® | ダイナミック リンク ライブラリ ファイル | .dll |
Linux® | 共有オブジェクト ファイル | .so |
Apple macOS | ダイナミック共有ライブラリ | .dylib |
共有ライブラリには "ヘッダー ファイル" が必要であり、これはライブラリ内の関数の "シグネチャ" を提供します。関数シグネチャ、つまりプロトタイプは、関数の名前とそのパラメーターの数および型を設定します。共有ライブラリとそのヘッダー ファイルの絶対パスを指定します。
MATLAB でサポートされる C コンパイラがインストールされている必要があります。サポートされているコンパイラの最新の一覧については、サポートされるコンパイラを参照してください。
MATLAB は、コマンド ライン インターフェイスを介して外部の共有ライブラリにビルドされた C ルーチンにアクセスします。このインターフェイスを使用して外部ライブラリを MATLAB メモリに読み込み、ライブラリ内の関数にアクセスできます。2 つの言語環境間で型が異なる場合でも、通常は型を変換せずに C 関数に渡すことができます。MATLAB が自動的に変換を行います。
共有ライブラリの使用の詳細については、次のトピックを参照してください。
ライブラリ関数が引数を渡す場合は、関数との間で受け渡しを行うデータ型を指定する必要があります。データの詳細については、次のトピックを参照してください。
共有ライブラリの操作の終了後は、必ずライブラリをアンロードしてメモリを解放してください。
参考
loadlibrary
| calllib
| libfunctions