簡體   English   中英

如何從Squeak環境運行外部代碼?

[英]How can I run external code from Squeak environment?

據我所知,Squeak環境與操作系統的其他部分完全隔離。 但是,我正在尋找一種執行外部代碼的方法,外部代碼將使用不同的語言編寫。 我們需要這個連接到舊的代碼庫。

這可能嗎? 我有哪些選擇?

你基本上有3個選擇:

  1. 編寫一個插件:您可以使用包含稱為“基元”的C函數的模塊擴展Squeak VM,然后可以從Squeak代碼中使用它。 原語是Squeak代碼與外界的接口(例如,用於訪問文件或互聯網或播放聲音)。 您可以將插件與任何庫鏈接,以便可以與任何具有C綁定的語言進行交互。
  2. 使用FFI:外部函數接口是從庫中調用C函數的通用方法。 這在多個平台上更難以正常工作,但是在構建插件時不需要C編譯器,並且您不需要將插件分發給用戶。
  3. 使用OSProcess:此包允許您調用外部可執行文件並通過stdin / stdout進行通信。

編寫插件是最靈活和最高性能的選項,但不是微不足道的。 OSProcess最簡單,FFI在中間。

我想你在尋找OSProcess

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM