1. 安装Lua环境
使用Lua for Windows可以一键安装Lua环境,很方便:https://github.com/rjpcomputing/luaforwindows/releases
安装成功后,就可以使用Lua编程了。
2. Lua语法
Lua的语法很简单,这里不累赘,可以看如下教程学习。
https://www.youtube.com/watch?v=G2tUYY5pa7c&index=27&list=PL0o3fqwR2CsWg_ockSMN6FActmMOJ70t_
3. Lua与C++交互
Lua最大的特点在于其能与C++交互编程,这个功能能给我们提供很大的便利。比如,我们可以使用C++编写接口,然后供Lua脚本去调用,那么当软件需要更新功能时,我们只需更新脚本即可,不必重新编译二进制,这样就缩短了迭代的周期。
3.1 C++执行Lua脚本
首先需要包含Lua的头文件:lua.h、lauxlib.h和lualib.h。然后调用luaL_dofile(L,”test.lua”)执行lua脚本。
然后在设置页中配置头文件和库文件的路径,分别为\5.1\inlcude和\5.1\lib。
再在输入项加入lua5.1.lib和lua51.lib。
编写test.lua。
运行Lua_Test.exe后,成功打印出Hello World!
3.2 C++读取Lua变量
lua脚本。
C++代码,获取参数是通过压栈出栈的方式读取的。
3.3 C++调用Lua函数
在Lua脚本中定义函数printMsg。
C++代码中调用lua_pcall执行printMsg函数。
运行后成功执行了printMsg函数,最后打印了该函数的返回值。
3.4 C++读取Lua数组
将上述的printMsg修改下,改为打印数组值。
循环打印出数组变量。
依次打印出数组的值。
上述方法是在C++中定义数组的,下面我们尝试在lua脚本中定义数组data。
然后在C++中对data数组进行读取。
也能成功读取。
3.5 Lua调用C++函数
lua脚本中调用C++代码中的add函数,返回值存储在x中。
C++中定义add函数,并将其声明成lua的全局变量。
成功打印返回值。