LibraryFunctionLoad

LibraryFunctionLoad[lib,fun,argtype,rettype]
Wolframライブラリ lib をロードし,ライブラリ関数 fun がWolfram言語で使えるようにする.

詳細とオプション詳細とオプション

  • LibraryFunctionLoadの引数
  • libロードされるライブラリ
    funライブラリファイルで指定されている関数名
    argtypes引数の型のリスト
    rettype戻り型
  • 使用可能な引数と戻り型,対応するC言語の型
  • True|Falsemboolブール
    _Integermint機械整数
    _Realdouble機械倍数
    _Complexmcomplex機械複素倍数
    {dt,r}MTensorデータ型 dt,階数 r のテンソル
    LibraryDataType[SparseArray,dt,r]MSparseArrayデータ型 dt,階数 r の疎な配列
    LibraryDataType[Image,it]MImageImageType it の画像
    LibraryDataType[Image3D,it]MImageImageType it の3D画像
    "UTF8String"char*UTF-8文字符号化方式による文字列
    LinkObjectWSLINKWSTPに渡された引数と結果
    "Void"void結果なし(戻り値のみ)
  • LibraryFunctionLoadLibraryFunctionオブジェクトを返す.
  • LibraryFunctionLoadは同じLibraryFunctionオブジェクトを返す同じ引数で2回以上呼び出すことができる.
  • LibraryFunctionLoadFindLibraryを使って$LibraryPath上に見付かったライブラリの位置を突き止める.
  • Wolframライブラリがロードされるとライブラリにある初期化関数が呼び出される.
  • Wolframライブラリがアンロードされるとライブラリにある初期化解除関数が呼び出される.
  • LibraryFunctionLoadによってロードされたライブラリは,Wolfram言語カーネルと同じプロセスで実行される.
  • LibraryFunctionLoadによってロードされたライブラリの中の関数は,Wolfram言語へのコールバックを行うことができる.
  • LibraryFunctionLoadによってロードされたライブラリは,Wolfram言語カーネルとデータを共有することができる.
  • LibraryFunctionUnloadLibraryFunctionをアンロードしてその関数を使えなくする.
  • LibraryFunctionLoadによってロードされたライブラリは,Wolfram言語カーネルの終了によってアンロードされる.
  • LibraryFunctionLoadによってロードされたライブラリは実行されるプラットフォーム用の動的ライブラリとして書かれていなければならない.

例題例題すべて開くすべて閉じる

  (3)  (3)

サンプルライブラリから関数をロードする:

In[1]:=
Click for copyable input
Out[1]=

関数を呼び出す:

In[2]:=
Click for copyable input
Out[2]=

同じ入力に対しLibraryFunctionLoadを2回以上呼び出すことができる:

In[3]:=
Click for copyable input
Out[3]=

ライブラリから関数をロードする.ロードされた関数はWSTPでデータをやりとりする:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

関数をロードする.ロードされた関数は,Wolfram言語をコールバックしてMessage[MyFunction::info]を評価する:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
2010年に導入
(8.0)
| 2014年に修正
(10.0)