Lua 或 Python 与 C++ 绑定

发布于 2024-09-25 11:48:18 字数 438 浏览 8 评论 0原文

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

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

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

当考虑C++中Lua到Python的双向调用时,Python是否比Boost Python库更有优势?我没有 Python/C++ 绑定的经验。我在 C++ 中使用 Python 和从 C++ 调用 Python 的经验并不相同。

I have used Lua.NET on .NET platform and I could call the .NET class/object from Lua and I could call the Lua from .NET Lua API interface. I did the same with the IronPython. I knew the how the .NET binding works.

Now I have a C++ project and I want to use the dynamic capabilities. I want to call C++ object which may not be possible from Lua so I may need to call some C API which makes call to C++. Meantime I want to call the Lua from C++.

We have configuration data which is best described in table like format in Lua or List & Dict like in Python. We need to enumerate these data structures defined in Lua/Python in C++.

When considering Lua to Python in C++ for two way calling, is Python have upper hand with Boost Python library? I don't have experience in Python/C++ binding. I don't have equal experience of using Python in C++ and calling Python from C++.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

原谅我要高飞 2024-10-02 11:48:18

在C++中考虑Lua到Python的双向调用时,Python是否比Boost Python库更有优势?

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

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

When considering Lua to Python in C++ for two way calling, is Python have upper hand with Boost Python library?

There are a few libraries that simplify the communication between C++ and Lua. One of them, luabind, is inspired by boost.python and is quite powerful and fairly easy to use.

Other C++ <-> Lua libraries to consider: toLua++, SWIG

你怎么这么可爱啊 2024-10-02 11:48:18

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

If you are planning to just use windows you could use C++/CLI a managed variant of C++. With C++/CLI you can easily mix managed and unmanaged code. You could call the managed classes from any .net language and the unmanaged (exported) functions from C.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文