介绍 MathLink
在许多情况下,在更高的层次与外部程序通信,交换更多的结构数据将是很方便的.
在几乎所有计算机系统上,Mathematica 支持 MathLink 通信标准,它允许 Mathematica 和外部程序进行较高层的通信. 为了使用 MathLink,外部程序必须引入一些特殊源代码和 MathLink 库,这些通常分布在 Mathematica 中.
MathLink 既允许外部程序调用 Mathematica,也允许 Mathematica 调用外部程序. "MathLink 和外部程序的通讯" 将讨论 MathLink 的一些细节. 通过使用 MathLink,基本上可以像嵌入在外部程序中的子过程一样处理 Mathematica. 或者用户可以建立一个前端实现自己的用户界面,并且通过 MathLink 与 Mathematica 内核进行通信.
还可以使用 MathLink 让 Mathematica 调用外部程序中的个别函数. 如同 "MathLink 和外部程序的通讯" 介绍的那样,用户可以建立 MathLink 模版文件来指明 Mathematica 中特定函数如何调用外部程序中的函数. 从 MathLink 模版文件中,能生成包含在用户程序中的源代码. 然后,当启动用户程序时,适当的 Mathematica 定义将自动被给出,并且当调用特定的 Mathematica 函数时,用户的外部程序中的代码被执行.
| Install["command"] | 启动一个外部程序并且安装 Mathematica 定义来调用它所包含的函数 |
| Uninstall[link] | 终止外部程序并且卸载用于函数的定义 |
调用外部程序中的函数.
这里启动外部程序

,并安装
Mathematica 定义来调用其中的各种函数.
| Out[1]= |  |
这里是一个函数用法的信息. 它被安装在
Mathematica 中用了调用外部程序中的函数.
| Out[3]= |  |
这里终止

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