提供嵌入式 mruby 3.2 解釋器

推出了 mruby 3.2 版本,它是動態物件導向程式語言 Ruby 的嵌入式解譯器。 Mruby 在 Ruby 3.x 層級提供基本語法相容性,但不支援模式匹配(「case .. in」)。 此解釋器記憶體消耗低,專注於將 Ruby 語言支援嵌入到其他應用程式中。 應用程式內建的解釋器可以執行Ruby語言的原始程式碼和使用該專案開發的“mrbc”編譯器獲得的字節碼。 mruby 原始碼在 MIT 許可證下分發。

新版本修復了 19 個漏洞,當解釋器處理特殊格式的 Ruby 程式碼時,這些漏洞可能導致緩衝區溢位、空指標取消引用或釋放後記憶體存取。

非安全變更包括:

  • 支援傳遞匿名參數(*、**、&),
  • 支援大整數 (mruby-bigint)。
  • 支援下載副檔名為“.mrb”的已編譯二進位。
  • 新增“--no-optimize”選項以停用 mrbc 編譯器中的最佳化。
  • mruby-class-ext 中 Class#subclasses 和 Module#undefined_instance_methods 方法的實作。
  • 新的內建函式庫 mruby-errno、mruby-set、mruby-dir 和 mruby-data。

來源: opennet.ru

添加評論