将Lua脚本嵌入到c++应用程序中,将Lua部分编译成机器码

Will embed Lua script in C++ application compile Lua part into machine code?

本文关键字:Lua 机器码 编译 应用程序 脚本 c++      更新时间:2023-10-16

我有一个关于Lua的新手问题。

如果我在我的c++应用程序中嵌入一些Lua脚本。当我编译我的c++应用程序时,Lua脚本部分会被编译成机器码还是c++应用程序每次都用Lua解释器运行Lua脚本部分?

网页上说使用LuaJIT会大大提高嵌入式脚本的性能,那么我猜c++应用程序中的Lua脚本永远不会编译成机器码。

如果我想在这种情况下压缩每一点性能,也就是说,我想用Lua编写部分程序,以便嵌入到c++应用程序中。我最好的选择是什么?是否有一些我可以用来编译Lua部分到c++/C部分,这将提高性能?

JIT编译器的全部目的是在运行时从源文件生成机器码。

LuaJIT将在你的代码中寻找频繁运行的"热点"(比如内部循环或经常使用的函数),并尝试将它们编译成机器码。代码来自哪里并不重要;加载后,这是完全无关的