在许多情况下,在更高的层次与外部程序通信,交换更多的结构数据将是很方便的.
MathLink 既允许外部程序调用
Mathematica,也允许
Mathematica 调用外部程序. "
MathLink 和外部程序的通讯" 将讨论
MathLink 的一些细节. 通过使用
MathLink,基本上可以像嵌入在外部程序中的子过程一样处理
Mathematica. 或者用户可以建立一个前端实现自己的用户界面,并且通过
MathLink 与
Mathematica 内核进行通信.
还可以使用
MathLink 让
Mathematica 调用外部程序中的个别函数. 如同 "
MathLink 和外部程序的通讯" 介绍的那样,用户可以建立
MathLink 模版文件来指明
Mathematica 中特定函数如何调用外部程序中的函数. 从
MathLink 模版文件中,能生成包含在用户程序中的源代码. 然后,当启动用户程序时,适当的
Mathematica 定义将自动被给出,并且当调用特定的
Mathematica 函数时,用户的外部程序中的代码被执行.
用户可以使用
MathLink 与许多类型的程序进行通讯,包括
Mathematica 本身. 我们对于大量通常的编程语言具有
MathLink 库的各种版本.
J/Link 系统提供了基于
MathLink 集成
Mathematica 和 Java 的标准方法. 使用
J/Link 的用户可以采用任何 Java 类,并且立即使它的方法对于
Mathematica 中的函数可用.