我有一个关于 Lua 的新手问题。
如果我在我的 C++ 应用程序中嵌入了一些 Lua 脚本。当我编译我的 C++ 应用程序时,Lua 脚本部分会被编译成机器码还是 C++ 应用程序每次都使用 Lua 解释器运行 Lua 脚本部分?
网络上说使用 LuaJIT 会大大提高嵌入式脚本的性能,那么我猜 C++ 应用程序中的 Lua 脚本永远不会被编译成机器代码。
如果我想在这种情况下充分发挥性能,即我想用 Lua 编写部分程序以嵌入到 C++ 应用程序中。我最好的选择是什么?有什么东西可以用来将 Lua 部分编译成 C++/C 部分,这会提高性能吗?
最佳答案
JIT 编译器的全部意义在于在运行时从源文件生成机器代码。
LuaJIT 会在您的代码中寻找频繁运行的“热点”(例如内部循环或频繁使用的函数),并尝试将它们编译为机器码。代码来自哪里并不重要;加载后,这完全无关紧要。
关于c++ - 在C++应用程序中嵌入Lua脚本会把Lua部分编译成机器码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678639/