我目前正在学习在 Lisp 中包装 C++ 代码,以便可以从 Lisp 调用 C++ 函数。我正在学习 SWIG,我想了解更多关于 SWIG 的 Allegro Common Lisp 部分的信息。我现在正在使用 Allegro 的 Express(免费)添加,它的堆限制为 50mb,因此它阻止我加载用于 Lisp、GSLL 的 GNU 科学库。
我想制作一个巨大的应用程序,它将使用来自 GSLL 的代码、我用 SWIG 创建的 OpenCV 的 Lisp 包装器以及我用 SWIG 创建的 C++ 代码的其他 Lisp 包装器,我希望能够使用所有的 OpenCV来自 Lisp 和 SWIG 的 Allegro Common Lisp C++ 支持的 C++ 接口函数似乎是最完整的(如果我错了,请纠正我)和包装大多数 C++ 函数的最佳方式。(我这样说是因为SWIG 手册的 Allegro Common Lisp 部分比Common Lisp 部分大得多。
我在 Allegro Common Lisp Express 版本中为 Lisp 创建 OpenCV C++ 绑定,并以某种方式将它们移至 SBCL 或 CLISP,这样我就可以在没有堆限制或 Allegro/ 的 Lisp 实现中使用我的所有 GSLL 代码和我的 OpenCV 包装器SWIG 合作伙伴关系认为我只使用 Allegro 制作的 SWIG C++ 包装器和 Allegro Common Lisp 中的 SWIG Allegro 教程。
如果我错误地假设 Allegro Common Lisp 的支持比其他实现更完整,或者如果有更好的方法来包装所有 OpenCV 的 C++ 函数,或者 OpenCV 的 C 接口与 C++ 一样完整,请纠正我界面,我可以包装它。
请在相关时引用在线资源。