⑴ 请问自己的软件如何运行Lua脚本
programming in lua 有相关的例子,一般脚本语言和c/c++之类的互相调用分两类,一类是扩展,就是将c/c++模块封装起来给脚本语言用,用swig做封装很方便的,一类是嵌入,就是在c/c++等应用中嵌入lua引擎,一般是用来分离经常变化的逻辑部分,比如WOW就是用lua语言作为扩展,用户可以编写lua脚本来完成一些特定功能的机器人。你要做的就是使用lua c api来在你的程序中执行lua。类似这种:
int iErr = 0;
lua_State *lua = lua_open (); // Open Lua
luaopen_io (lua); // Load io library
if ((iErr = luaL_loadfile (lua, "test.lua")) == 0)
{
// Call main...
if ((iErr = lua_pcall (lua, 0, LUA_MULTRET, 0)) == 0)
{
// Push the function name onto the stack
lua_pushstring (lua, "helloWorld");
// Function is located in the Global Table
lua_gettable (lua, LUA_GLOBALSINDEX);
lua_pcall (lua, 0, 0, 0);
}
}
lua_close (lua);
⑵ 请教天龙八部 lua源码hook几个Lua函数
语嫣目睹一切,感伤段誉死。再劝表哥,慕容复亦无悔意,反斥语嫣与段誉有染,语嫣伤心欲绝,投井自尽。幸好段誉未死,井下二人相见,情意缱绻。为助吐蕃王子争驸马,鸠摩智来到井边,劝慕容复离去,二人动手间鸠摩智走火入魔。
⑶ Lua 的utf8库及使用方法
a utf-8 support mole for Lua and LuaJIT
源码地址: https://github.com/starwing/luautf8
编译后可用的库: https://github.com/cherishpf/luautf8
https://download.csdn.net/download/cherishpf/11579451
Linux版:lua-utf8.so
Windows版:lua-utf8.dll(若是用在openresty中,openresty版本需使用32位版本,使用64位版本时会报错“lua-utf8.dll 不是有效的 Win32 应用程序”)
将lua-utf8库放在openresty安装目录下,使用时用require引入。