请问自己的软件如何运行Lua脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问自己的软件如何运行Lua脚本相关的知识,希望对你有一定的参考价值。

假如我用C++写了一个小软件,这个软件可以执行Lua脚本。要怎么整?

是吧Lua的DLL导进去,然后 Lua lua = new 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);
参考技术A 在cmd中执行就可以了。
假设luadec放在c:\lua下,想要看到c:\test\test.lua文件的源码,那么可以使用如下操作
1.打开CMD 命令行窗口。
2.在窗口中输入如下命令:
c:\lua\luadec.exe -d c:\test\test.lua >c:\test\test_bak.lu。
3.使用lua编辑器,打开c:\test\test_bak.lua 就已经看到源码了。

请问各位lua大侠,如何用lua脚本读入一个txt文件,并替换里面的字符串呢

比如把"aaa"全部替换为"bbb",这样的脚本该怎样写呢?非常感谢

参考技术A local file = io.open("1.txt","r")
local str = file:read("*a")
file:close()
local newStr = string.gsub(str,"aaa","bbb")
print(newStr)

以上是关于请问自己的软件如何运行Lua脚本的主要内容,如果未能解决你的问题,请参考以下文章

lua如何让循环运行慢一点

如何加密lua代码

lua加密脚本,谁会解密。 打开是这样

如何读取剑侠三LUA 脚本插件 中的值 用C或VB

请问各位lua大侠,如何用lua脚本读入一个txt文件,并替换里面的字符串呢

Redis中如何优雅地使用Lua脚本