LibraryFunctionLoad
LibraryFunctionLoad[lib,fun,argtype,rettype]
Wolframライブラリ lib をロードし,ライブラリ関数 fun がWolfram言語で使えるようにする.
詳細とオプション
- LibraryFunctionLoadの引数
-
lib ロードされるライブラリ fun ライブラリファイルで指定されている関数名 argtypes 引数の型のリスト rettype 戻り型 - 使用可能な引数と戻り型,対応するC言語の型
-
TrueFalse mbool ブール _Integer mint 機械整数 _Real double 機械倍数 _Complex mcomplex 機械複素倍数 {dt,r} MTensor 要素のデータ型が dt,階数が r のテンソル LibraryDataType[SparseArray,dt,r] MSparseArray 要素のデータ型が dt,階数が r の疎な配列 LibraryDataType[Image,it] MImage ImageType it の画像 LibraryDataType[Image3D,it] MImage ImageType it の3D画像 "UTF8String" char* UTF-8文字符号化方式による文字列 LinkObject WSLINK WSTPに渡された引数と結果 "Void" void 結果なし(戻り値のみ) - LibraryFunctionLoadはLibraryFunctionオブジェクトを返す.
- LibraryFunctionLoadは同じLibraryFunctionオブジェクトを返す同じ引数で2回以上呼び出すことができる.
- LibraryFunctionLoadはFindLibraryを使って$LibraryPath上に見付かったライブラリの位置を突き止める.
- Wolframライブラリがロードされるとライブラリにある初期化関数が呼び出される.
- Wolframライブラリがアンロードされるとライブラリにある初期化解除関数が呼び出される.
- LibraryFunctionLoadによってロードされたライブラリは,Wolfram言語カーネルと同じプロセスで実行される.
- LibraryFunctionLoadによってロードされたライブラリの中の関数は,Wolfram言語へのコールバックを行うことができる.
- LibraryFunctionLoadによってロードされたライブラリは,Wolfram言語カーネルとデータを共有することができる.
- LibraryFunctionUnloadはLibraryFunctionをアンロードしてその関数を使えなくする.
- LibraryFunctionLoadによってロードされたライブラリは,Wolfram言語カーネルの終了によってアンロードされる.
- LibraryFunctionLoadによってロードされたライブラリは実行されるプラットフォーム用の動的ライブラリとして書かれていなければならない.
例題
すべて開くすべて閉じる例 (3)
同じ入力に対しLibraryFunctionLoadを2回以上呼び出すことができる:
ライブラリから関数をロードする.ロードされた関数はWSTPでデータをやりとりする:
関数をロードする.ロードされた関数は,Wolfram言語をコールバックしてMessage[MyFunction::info]を評価する:
考えられる問題 (1)
LibraryFunctionLoadはFindLibraryを使ってライブラリの位置を見付ける:
FindLibraryでライブラリを探す方が速い:
テキスト
Wolfram Research (2010), LibraryFunctionLoad, Wolfram言語関数, https://reference.wolfram.com/language/ref/LibraryFunctionLoad.html (2014年に更新).
CMS
Wolfram Language. 2010. "LibraryFunctionLoad." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/LibraryFunctionLoad.html.
APA
Wolfram Language. (2010). LibraryFunctionLoad. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LibraryFunctionLoad.html