LibraryFunctionDeclaration
LibraryFunctionDeclaration["extName",lib,type]
ライブラリ lib からの type 型のライブラリ関数 extName をコンパイルされたコードで使用するために公開する関数宣言を表す.
LibraryFunctionDeclaration[name->"extName",lib,type]
名前 name の関数をコンパイルされたコードでエイリアスする.
LibraryFunctionDeclaration[nameSpec,type]
関数がコンパイルされたときにライブラリがロードされるものと仮定する.
詳細
- LibraryFunctionDeclarationは宣言の記号表現で,そのままでは評価されない.
- LibraryFunctionDeclarationは,CompilerEnvironmentAppendToの中およびFunctionCompileのような関数の第1引数で使うことができる.
- name が与えられていなければ,LibraryFunction["extName"]が使われる.
- ライブラリは,ロードされていなければFunctionCompileが呼ばれたときにロードされる.
- LibraryFunctionDeclarationで参照されたライブラリはWolfram言語カーネルと同じプロセスで実行される.
- FindLibraryは$LibraryPath上のライブラリの場所を見付けるために使われる.
- Cの型の大きさはプラットフォームによって異なるので,Cで生成されたライブラリと接続する際は,"Integer32"や"Real32"よりも"CInt"や"CFloat"等を使うとよいだろう.
- LibraryLoadを使ってライブラリを手動でロードすることができる.手動でロードされたライブラリの関数は,ライブラリを指定せずにLibraryFunctionDeclarationで参照できる. »
例題
すべて開くすべて閉じるスコープ (2)
LibraryLoadを使って手動でライブラリをロードする:
すでにカーネルにロードされている関数を参照するLibraryFunctionDeclarationを作成する:
アプリケーション (1)
OpenSSLを使って文字列のSHA256ハッシュを計算する関数をコンパイルする:
計算されたハッシュを組込み関数Hashと比較する:
テキスト
Wolfram Research (2022), LibraryFunctionDeclaration, Wolfram言語関数, https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html.
CMS
Wolfram Language. 2022. "LibraryFunctionDeclaration." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html.
APA
Wolfram Language. (2022). LibraryFunctionDeclaration. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html