2017-04-11 121 views
1

如果我有一个Lua脚本,说如何将lua脚本转换为lua字节码?

print'hi' 

我该如何获得LUA字节相当于它用C++?我不确定是否我正在解释这个权利。感谢你的帮助!

+0

是否要生成独立的可执行文件?你想从lua调用C++函数吗?你应该编辑这个问题,直到你确信你*解释正确。 – nwp

+0

相关的C API函数是'luaL_loadfile'或'luaL_loadstring'和'lua_dump'。 – lhf

+0

谢谢!正是我需要的。 – Settop

回答

1

您需要加载脚本,然后转储其字节码。

相关C API函数为luaL_loadfileluaL_loadstring用于加载(它们使用原始文件lua_load)和lua_dump进行转储。

加载操作很容易完成这些辅助功能。

由于需要提供编写器功能,转储是BT的更多工作。加载后可能更容易致电string.dump

// load script, leave function on the stack 
lua_getglobal(L,"string"); 
lua_getfield(L,"dump"); 
lua_pushvalue(L,-3); 
lua_call(L,1,1); 
// string containing bytecode left on the stack