ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

C 共有ライブラリの呼び出し

MATLAB® からの C ライブラリ関数の直接呼び出し

関数

loadlibrary C/C++ 共有ライブラリを MATLAB に読み込み
unloadlibrary メモリから共有ライブラリをアンロード
libisloaded 外部ライブラリの読み込み判定
calllib 共有ライブラリの関数を呼び出す
libfunctions 共有ライブラリの関数の情報を返す
libfunctionsview 共有ライブラリの関数シグネチャのウィンドウ表示
libstruct MATLAB 構造体を、共有ライブラリと使用するために C スタイルの構造体に変換
libpointer 共有ライブラリで使用するポインター オブジェクト

クラス

lib.pointer C ポインターと互換性のあるポインター オブジェクト

例および操作のヒント

共有ライブラリ shrlibsample

MATLAB には、shrlibsample というサンプルの外部ライブラリが含まれています。

文字列引数の受け渡し

shrlibsample ライブラリの関数 stringToUpper は、入力引数の文字を大文字に変換します。

構造体の受け渡し

サンプル ライブラリ shrlibsample には、c_struct 構造体入力パラメーターをもつ 2 つの関数が含まれています。

libstruct オブジェクトの確認

この例では、libstruct オブジェクト c_struct についての情報を表示し、このオブジェクトを変更する方法を説明します。

列挙型の受け渡し

shrlibsample ライブラリの関数 readEnum は、入力引数に対応する文字列を表示します。

ポインターの受け渡し

shrlibsample ライブラリの関数 multDoubleRef は入力を 5 で乗算します。

配列の受け渡し

shrlibsample ライブラリの関数 print2darray は、2 次元配列の値を 3 つの列と可変数の行で表示します。

配列による反復

この例では、関数 getListOfStrings の出力から、文字ベクトルからなる MATLAB® のセル配列 mlStringArray を作成する方法を説明します。

概念

共有ライブラリの関数の呼び出し

MATLAB ソフトウェアから外部の共有ライブラリの関数を呼び出す方法

共有ライブラリ関数への引数の受け渡し

ライブラリ関数にある引数の型と互換性のある MATLAB 引数の作成方法

構造体引数

MATLAB 構造体を外部ライブラリ関数に渡す場合:

ポインター引数

外部ライブラリの多くの関数は、参照によって引数を受け渡します。

MATLAB プロトタイプ ファイル

MATLAB では、"プロトタイプ ファイル"、つまり MATLAB コマンドのファイルを作成することで、ヘッダー ファイル情報の変更が可能になります。

トラブルシューティング

共有ライブラリのサポートの制限

MATLAB 共有ライブラリ インターフェイスでは、C ライブラリ ルーチンのみがサポートされます。

構造体の使用制限

MATLAB は構造体へのポインターを返します。

検出できないモジュールのエラー

このエラーは、MATLAB で検出できない依存関係が共有ライブラリにある場合に発生します。

一致するシグネチャが存在しないエラー

このエラーは、正しい入力引数または出力引数を使用せずに関数を呼び出した場合や、ヘッダー ファイルの関数シグネチャにエラーがある場合に発生します。

共有ライブラリの関数呼び出し時に MATLAB が予期せず終了

Microsoft® Windows® 32 ビット ライブラリとしてコンパイルされた一部の共有ライブラリは、既定の MATLAB 呼び出し規則と互換性のない呼び出し規則を使用しています。

この情報は役に立ちましたか?