LibraryFunctionDeclaration["extName",lib,type]
ライブラリ lib からの type 型のライブラリ関数 extName をコンパイルされたコードで使用するために公開する関数宣言を表す.
LibraryFunctionDeclaration[name->"extName",lib,type]
名前 name の関数をコンパイルされたコードでエイリアスする.
LibraryFunctionDeclaration[nameSpec,type]
関数がコンパイルされたときにライブラリがロードされるものと仮定する.


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
BibTeX
@misc{reference.wolfram_2025_libraryfunctiondeclaration, author="Wolfram Research", title="{LibraryFunctionDeclaration}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html}", note=[Accessed: 17-September-2025]}
BibLaTeX
@online{reference.wolfram_2025_libraryfunctiondeclaration, organization={Wolfram Research}, title={LibraryFunctionDeclaration}, year={2022}, url={https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html}, note=[Accessed: 17-September-2025]}