我是Lua的新手,我希望使用C++将Lua嵌入我们的游戏项目中.我注意到的第一件事是,Lua被允许编译为C++代码,并且从doc,我已经知道这将消除围绕Lua头部的'extern C',并且错误处理将是C++异常而不是跳远踏板/ setjump.
我的问题是,除了这两个差异之外,将Lua代码编译为C++代码还有其他任何实际好处吗?这两个并不能说服我,因为,1)它不打扰我用'extern C'包装c标题,2)我们的项目不允许异常,所以我必须在luaconf.h中更改才能使用longjump/setjump任何方式.
这些是将Lua编译为C++的好处.的extern "C"事情是不是真的连一点; 这都是关于异常处理的.虽然您的应用程序禁止异常,但并非每个C++应用程序都有.
如果您正在使用所有 C++,则必须采取措施防止异常通过Lua(除非您使用像Luabind这样的包装器,否则不是世界上最容易的事情)或者将Lua编译为C++.
将Lua编译为C++没有其他好处.异常处理是 Lua可以编译为C++的原因.