介绍 MathLink

在许多情况下,在更高的层次与外部程序通信,交换更多的结构数据将是很方便的.

在几乎所有计算机系统上,Mathematica 支持 MathLink 通信标准,它允许 Mathematica 和外部程序进行较高层的通信. 为了使用 MathLink,外部程序必须引入一些特殊源代码和 MathLink 库,这些通常分布在 Mathematica 中.

MathLink 既允许外部程序调用 Mathematica,也允许 Mathematica 调用外部程序. "MathLink 和外部程序的通讯" 将讨论 MathLink 的一些细节. 通过使用 MathLink,基本上可以像嵌入在外部程序中的子过程一样处理 Mathematica. 或者用户可以建立一个前端实现自己的用户界面,并且通过 MathLinkMathematica 内核进行通信.

还可以使用 MathLinkMathematica 调用外部程序中的个别函数. 如同 "MathLink 和外部程序的通讯" 介绍的那样,用户可以建立 MathLink 模版文件来指明 Mathematica 中特定函数如何调用外部程序中的函数. 从 MathLink 模版文件中,能生成包含在用户程序中的源代码. 然后,当启动用户程序时,适当的 Mathematica 定义将自动被给出,并且当调用特定的 Mathematica 函数时,用户的外部程序中的代码被执行.

Install["command"]启动一个外部程序并且安装 Mathematica 定义来调用它所包含的函数
Uninstall[link]终止外部程序并且卸载用于函数的定义

调用外部程序中的函数.

这里启动外部程序 ,并安装 Mathematica 定义来调用其中的各种函数.
In[1]:=
Click for copyable input
Out[1]=
这里是一个函数用法的信息. 它被安装在 Mathematica 中用了调用外部程序中的函数.
当调用该函数时,它执行外部程序中的代码.
In[3]:=
Click for copyable input
Out[3]=
这里终止 程序.
In[4]:=
Click for copyable input
Out[4]=

用户可以使用 MathLink 与许多类型的程序进行通讯,包括 Mathematica 本身. 我们对于大量通常的编程语言具有MathLink 库的各种版本. J/Link 系统提供了基于 MathLink 集成Mathematica 和 Java 的标准方法. 使用 J/Link 的用户可以采用任何 Java 类,并且立即使它的方法对于 Mathematica 中的函数可用.

New to Mathematica? Find your learning path »
Have a question? Ask support »