Lua学习教程

1. 安装Lua环境

使用Lua for Windows可以一键安装Lua环境,很方便:https://github.com/rjpcomputing/luaforwindows/releases
Lua学习教程_第1张图片
安装成功后,就可以使用Lua编程了。
Lua学习教程_第2张图片

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脚本。
Lua学习教程_第3张图片
然后在设置页中配置头文件和库文件的路径,分别为\5.1\inlcude和\5.1\lib。
Lua学习教程_第4张图片
再在输入项加入lua5.1.lib和lua51.lib。
Lua学习教程_第5张图片
编写test.lua。
Lua学习教程_第6张图片
运行Lua_Test.exe后,成功打印出Hello World!
Lua学习教程_第7张图片
3.2 C++读取Lua变量

lua脚本。
Lua学习教程_第8张图片
C++代码,获取参数是通过压栈出栈的方式读取的。
Lua学习教程_第9张图片
3.3 C++调用Lua函数

在Lua脚本中定义函数printMsg。
Lua学习教程_第10张图片
C++代码中调用lua_pcall执行printMsg函数。
Lua学习教程_第11张图片
运行后成功执行了printMsg函数,最后打印了该函数的返回值。
Lua学习教程_第12张图片
3.4 C++读取Lua数组

将上述的printMsg修改下,改为打印数组值。
Lua学习教程_第13张图片
循环打印出数组变量。
Lua学习教程_第14张图片
依次打印出数组的值。
Lua学习教程_第15张图片
上述方法是在C++中定义数组的,下面我们尝试在lua脚本中定义数组data。
Lua学习教程_第16张图片
然后在C++中对data数组进行读取。
Lua学习教程_第17张图片
也能成功读取。
Lua学习教程_第18张图片

3.5 Lua调用C++函数

lua脚本中调用C++代码中的add函数,返回值存储在x中。
Lua学习教程_第19张图片
C++中定义add函数,并将其声明成lua的全局变量。
Lua学习教程_第20张图片
成功打印返回值。
Lua学习教程_第21张图片

你可能感兴趣的:(编程学习,Lua脚本)