将Lua脚本嵌入C++应用程序是否会将Lua部分编译为机器代码?

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

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

网络上说使用 LuaJIT 将大大提高嵌入式脚本的性能,那么我猜想 C++ 应用程序中的 Lua 脚本从未被编译成机器代码。

如果我想在这种情况下挤出所有性能,例如,我想在嵌入式应用程序中编写部分 Lua 程序。我的最佳选择是什么?是否有一些工具可以将 Lua 部分编译成 C++/C 部分?这是否会提高性能?

点赞
用户646619
用户646619

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

LuaJIT会在您的代码中寻找频繁运行的“热点”(例如内部循环或常用函数),并尝试将它们编译成机器码。代码的来源并不重要;一旦加载,那就完全无关紧要。

2014-05-15 14:54:04