哪个方案实现最容易嵌入到C/C++程序中



我正在重写一个程序,该程序嵌入了用于扩展和配置的脚本语言,旧程序使用Lua,Lua可以很容易地嵌入到我的程序中,只需下载其源文件,解压缩并将所有源文件移到我的程序目录中,删除Lua.c和Lua.c,一切都很好。对于函数式编程语言的学习,我决定选择一个lisp方言(scheme)作为新的脚本后端,但有很多方案实现,哪一个最适合嵌入?

有很多用于嵌入的Schemes。我个人推荐的两个:

  • Chibi,因为它设计得小巧轻便,并支持新的R7RS标准
  • Guile,因为它是GNU的选择,是一个非常成熟的项目

在这两者中,Chibi努力保持其代码和内存占用空间较小。另一方面,Guile在提供的功能方面更先进。只有赤壁支持R7RS,但我相信Guile正在为此努力。

要了解其他伟大的Scheme,请查看维基百科的Scheme实现列表。

我知道这是一个很老的问题,但看看s7方案:https://ccrma.stanford.edu/software/snd/snd/s7.html

它以tarball的形式分发,只包含s7.h和s7.c,这正是您想要的易于嵌入的内容。此外,它还有很多功能,有些甚至是s7独有的。

我建议尝试Bigloo。来自他们的网站:

Bigloo是一个致力于一个目标的Scheme实现:启用通常需要C(++)的基于Scheme的编程风格。Bigloo试图通过提供通常由传统编程语言提供但Scheme和函数式编程没有提供的功能,使Scheme变得实用。Bigloo编译Scheme模块。它提供小型且快速的独立二进制可执行文件。Bigloo实现了Scheme和C程序之间、Scheme和Java程序之间以及Scheme和C#程序之间的完全连接。

我已经看到它在生产中成功地用于将方案嵌入到C应用程序中。与其他项目相比,Bigloo的一个主要优势是它支持完全编译的方案代码。当然,您可以根据需要将其与解释的方案代码混合使用。

最新更新