lua函数作为导出函数的参数

发布于 2024-11-27 23:09:45 字数 307 浏览 4 评论 0原文

是否可以像这样将 lua 函数发送到主 C++ 程序?

function a()
    ... -- do something
end

cpp_exported_function(a);

或者更好,像这样?

cpp_exported_function(function () .... end);

我如何从主程序中调用它? 如果可能的话 - 以同样的方式使用 lua 表。我的意思是exported_function(table);

Is it possible to send lua-function to a main C++ program like this?

function a()
    ... -- do something
end

cpp_exported_function(a);

Or better, like this?

cpp_exported_function(function () .... end);

And how do I call it from the main program?
If it is possible - use lua table the same way. I mean exported_function(table);?

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

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

发布评论

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

评论(1

往日情怀 2024-12-04 23:09:45

是的 - 在这两种情况下,您都会有一个接受 luabind::object 作为参数的 C++ 函数。出于这个原因,Luabind 为 luabind::object 定义了operator[](用于索引表)和operator()(用于调用函数)。请参阅此处的文档: http://www.hci.iastate .edu/~rpavlik/doxygen/luabind/docs.html#object

Yes - you'd have a C++ function that accepts a luabind::object as a parameter in both those cases. Luabind defines operator[] (for indexing a table) and operator() (for calling a function) for luabind::object for exactly that reason. See the documentation here: http://www.hci.iastate.edu/~rpavlik/doxygen/luabind/docs.html#object

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