LibraryFunctionLoad

LibraryFunctionLoad[lib, fun, argtype, rettype]
加载 Wolfram 库 lib 并且使库函数 funMathematica 中可用.

更多信息更多信息

  • LibraryFunctionLoad 的变量是:
  • lib要加载的库
    fun在库文件中指定的函数名
    argtypes变量类型列表
    rettype返回类型
  • 可能的变量和返回值类型,以及它们在对应的 C 类型,包括:
  • True|Falsembool布尔
    _Integermint机器整数
    _Realdouble机器双精度
    _Complexmcomplex机器复双精度
    {base,rank}MTensor指定基类型和阶的张量
    "UTF8String"char*UTF-8 编码的字符串
    LinkObjectMLINKMathLink 上传递的变量和结果
    "Void"void无结果(仅限于返回)
  • LibraryFunctionLoad 返回 LibraryFunction 对象.
  • LibraryFunctionLoad 可以在返回 LibraryFunction 对象时使用相同变量调用超过一次.
  • LibraryFunctionLoad 使用 FindLibrary 来定位在 $LibraryPath中找到的库.
  • 当加载一个 Wolfram 库时,调用库中的 initialization function.
  • 当卸载一个 Wolfram 库时,调用库中的 uninitialization function.
  • LibraryFunctionLoad 加载的库与 Mathematica 内核运行在相同的进程中.
  • LibraryFunctionLoad 加载的库中的函数可以调用回 Mathematica.
  • LibraryFunctionLoad 加载的库可以与 Mathematica 内核共享数据.
  • LibraryFunctionUnload 卸载 LibraryFunction,以使得它不再被使用.
  • LibraryFunctionLoad 加载的库当 Mathematica 内核退出时卸载.
  • LibraryFunctionLoad 加载的库必须写为它们所运行的平台的动态库.

范例范例打开所有单元关闭所有单元

基本范例 (3)基本范例 (3)

从样本库加载一个函数:

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

调用函数:

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

用户可以对同样输入的 LibraryFunctionLoad 调用超过一次:

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

从库调用一个函数,它在 Mathlink 上交换数据:

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

加载一个函数,该函数调用回 Mathematica 以计算 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]=
版本 8 的新功能
New to Mathematica? Find your learning path »
Have a question? Ask support »