lua函数作为导出函数的参数
是否可以像这样将 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的 - 在这两种情况下,您都会有一个接受 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