【问题标题】:Lua or Python binding with C++Lua 或 Python 与 C++ 的绑定
【发布时间】:2011-04-18 15:16:33
【问题描述】:

我在 .NET 平台上使用过 Lua.NET,我可以从 Lua 调用 .NET 类/对象,我可以从 .NET Lua API 接口调用 Lua。我对 IronPython 做了同样的事情。我知道 .NET 绑定的工作原理。

现在我有一个 C++ 项目,我想使用动态功能。我想调用 Lua 可能无法调用的 C++ 对象,因此我可能需要调用一些调用 C++ 的 C API。同时我想从 C++ 调用 Lua。

我们有配置数据,最好用 Lua 中的表格格式或 Python 中的 List & Dict 格式描述。我们需要在 C++ 中枚举 Lua/Python 中定义的这些数据结构。

当考虑在 C++ 中使用 Lua 到 Python 进行两种方式调用时,Python 是否在 Boost Python 库中占上风?我没有 Python/C++ 绑定的经验。我没有在 C++ 中使用 Python 和从 C++ 调用 Python 的同等经验。

【问题讨论】:

    标签: c++ python boost lua embedding


    【解决方案1】:

    当考虑在 C++ 中从 Lua 到 Python 进行两种方式调用时,Python 是否具有 Boost Python 库的优势?

    有一些库可以简化 C++ 和 Lua 之间的通信。其中之一,luabind,受到 boost.python 的启发,非常强大且相当易于使用。

    其他 C++ 需要考虑的 Lua 库:toLua++SWIG

    【讨论】:

      【解决方案2】:

      如果您打算只使用 Windows,则可以使用 C++/CLI 一种 C++ 的托管变体。使用 C++/CLI,您可以轻松混合托管和非托管代码。您可以从任何 .net 语言调用托管类,从 C 调用非托管(导出)函数。

      【讨论】:

        猜你喜欢
        • 2011-11-19
        • 2012-08-26
        • 1970-01-01
        • 2013-12-29
        • 2021-05-19
        • 1970-01-01
        • 2013-02-08
        • 2010-11-10
        • 1970-01-01
        相关资源
        最近更新 更多