Main Content

calllib

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

説明

[x1,...,xN] = calllib(libname,funcname,arg1,...,argN) は入力引数 arg1,...,argN を渡して、C ライブラリ libname の関数 funcname を呼び出します。関数 calllib は、funcname から取得した出力値を x1,...,xN に返します。

すべて折りたたむ

ライブラリを読み込みます。

if ~libisloaded('shrlibsample')
   addpath(fullfile(matlabroot,'extern','examples','shrlib'))
   loadlibrary('shrlibsample')
end

関数シグネチャを表示します。

libfunctionsview shrlibsample
[double, c_structPtr] addStructByRef(c_structPtr)

入力引数は c_struct データ型へのポインターです。

MATLAB® 構造体、struct を作成します。

struct.p1 = 4; struct.p2 = 7.3; struct.p3 = -290; 

関数を呼び出します。

[res,st] = calllib('shrlibsample','addStructByRef',struct);

結果を表示します。

res
res =
         -279

クリーンアップします。

unloadlibrary shrlibsample

入力引数

すべて折りたたむ

共有ライブラリの名前。文字ベクトルとして指定します。libname にパスやファイル拡張子は含めないでください。

alias オプションを使用して loadlibrary を呼び出す場合は、libname 引数に対して別名を使用しなければなりません。

データ型: char

ライブラリ内の関数の名前。文字ベクトルとして指定します。

データ型: char

funcname (存在する場合) に必要な 1 ~ N 番目の入力引数です。任意の型で指定します。funcname 引数のリストで引数のタイプを指定します。

出力引数

すべて折りたたむ

funcname (存在する場合) の 1 ~ N 番目の出力引数です。任意の型で返されます。funcname 引数のリストで引数のタイプを指定します。

制限

  • 関数 loadlibrary を使用して読み込まれたライブラリと共に使用します。

ヒント

  • MATLAB は、入力引数の型を検証してから funcname を呼び出します。MATLAB でデータ型に関するエラー メッセージが表示された場合、MATLAB 関数のシグネチャをチェックしてください。たとえば、funcnamemylib ライブラリにある場合は、以下を入力します。

    libfunctions('mylib','-full')

    funcname を見つけるには、出力をスクロールします。詳細については、ライブラリのドキュメンテーションを参照してください。

    funcname を呼び出すと、その関数がエラーを表示することがあります。エラー メッセージの詳細については、ライブラリのドキュメンテーションを参照してください。

バージョン履歴

R2006a より前に導入