LibraryFunctionDeclaration
LibraryFunctionDeclaration["extName",lib,type]
表示一个函数声明,公开库 lib 中 type 类型的库函数 extName,以便在编译代码中使用.
LibraryFunctionDeclaration[name->"extName",lib,type]
在编译代码中用 name 作为函数的别名.
LibraryFunctionDeclaration[nameSpec,type]
假定将在函数编译时加载库.
更多信息
- LibraryFunctionDeclaration 是声明的符号表示,不会自行进行计算.
- LibraryFunctionDeclaration 可在 CompilerEnvironmentAppendTo 内部使用,也可以在 FunctionCompile 等函数的第一个参数中使用.
- 如果没有给出 name,则使用 LibraryFunction["extName"].
- 如果库尚未被加载,则在调用 FunctionCompile 时加载.
- LibraryFunctionDeclaration 引用的库在与 Wolfram 语言内核相同的进程中运行.
- 可用 FindLibrary 定位 $LibraryPath 上的库.
- 当与从 C 生成的库交互时,最好使用 "CInt" 以及 "CFloat" 等类型,而不是 "Integer32" 和 "Real32",因为 C 类型的大小在某些平台上可能会有所不同.
- 可用 LibraryLoad 手动加载库. LibraryFunctionDeclaration 可以在不指定库的情况下引用手动加载的库中的函数. »
范例
打开所有单元关闭所有单元范围 (2)
应用 (1)
编译一个使用 OpenSSL 计算字符串的 SHA256 哈希的函数:
将所得的哈希与内置函数 Hash 的结果进行比较:
文本
Wolfram Research (2022),LibraryFunctionDeclaration,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html.
CMS
Wolfram 语言. 2022. "LibraryFunctionDeclaration." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html.
APA
Wolfram 语言. (2022). LibraryFunctionDeclaration. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/LibraryFunctionDeclaration.html 年