如何从Squeak环境运行外部代码?

时间:2014-09-13 16:43:59

标签: programming-languages interface smalltalk

据我所知,Squeak环境与其他操作系统完全隔离。但是,我正在寻找一种执行外部代码的方法,外部代码将使用不同的语言编写。我们需要这个连接到旧的代码库。

这可能吗?我有哪些选择?

2 个答案:

答案 0 :(得分:6)

您基本上有3个选项:

  1. 编写插件:您可以使用包含称为“基元”的C函数的模块扩展Squeak VM,然后可以从Squeak代码中使用它。基元是Squeak代码与外界联系的方式(例如,用于访问文件或互联网或播放声音)。您可以将插件与任何库链接,以便可以与任何具有C绑定的语言进行交互。
  2. 使用FFI:外部函数接口是从库中调用C函数的通用方法。这在多个平台上更难以正常工作,但是在构建插件时不需要C编译器,并且您不需要将插件分发给用户。
  3. 使用OSProcess:此程序包允许您调用外部可执行文件并通过stdin / stdout进行通信。
  4. 编写插件是最灵活和高性能的选项,但不是微不足道的。 OSProcess最简单,FFI在中间。

答案 1 :(得分:2)

我认为您正在寻找OSProcess