gpt4 book ai didi

c++ - 除了避免 'extern C' 并获得 'C++ exception' 之外,将 Lua 编译为 C++ 有什么好处?

转载 作者:可可西里 更新时间:2023-11-01 16:36:33 25 4
gpt4 key购买 nike

我是 Lua 的新手,我想使用 C++ 将 Lua 嵌入到我们的游戏项目中。我注意到的第一件事是,允许将 Lua 编译为 C++ 代码,并且从文档中,我了解到这将消除环绕 Lua header 的“extern C”,并且错误处理将是 C++ 异常而不是跳远/定跳。

我的问题是,除了这两个区别之外,将 Lua 代码编译为 C++ 代码还有其他真正的好处吗?这两个并不能真正说服我,因为,1) 用 'extern C' 包装 c header 并不困扰我,2) 我们的项目不允许异常,所以我必须更改 luaconf.h 才能使用longjump/setjump 任何方式。

最佳答案

那些将Lua编译成C++的好处。 extern "C" 甚至不是重点;这都是关于异常处理的。虽然您的应用程序禁止异常,但并非每个 C++ 应用程序都禁止异常。

如果您正在使用 所有 C++,您要么必须采取措施防止异常通过 Lua(这不是世界上最简单的事情,除非您使用像 Luabind 这样的包装器)或将 Lua 编译为 C++。

将 Lua 编译为 C++ 没有其他好处。异常处理是Lua可以编译为C++的原因。

关于c++ - 除了避免 'extern C' 并获得 'C++ exception' 之外,将 Lua 编译为 C++ 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8400016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com