最近在调研嵌入式脚本语言,发现Lua很适合在嵌入式平台运行。第一次认识Lua是在Torch,lua的解释器源码只有几百K,从未见过如此轻巧的脚本语言。Lua是类C的,所以上手超级快。
这篇博客主要涵盖以下几个方面:lua语言(主要是语法相关的资料)、lua的编译、lua与C/C++交互、lua的调用开销。
一、Lua脚本语言的学习
提供几个学习地址吧:https://www.w3cschool.cn/lua/ 和 http://book.luaer.cn/
个人认为基础语法,上面任意一个网址上的资料都够了,因为类C,比较容易接受。
二、Lua在Windows下的编译(Visual Studio)
首先,进入官网,下载lua源码。
如果你用其它的编译其,可以查找其它文档,以下是VS的编译过程。
查到的很多文档都会让我们建一个VS工程,然后添加源码,个人认为这样太费事,于是找到了直接用编译命令来编译的方法。首先打开VS的编译命令工具(注意x86和x64是两个不同的工具)
然后进入lua目录下的src目录,顺序执行下列命令就可以编译得到几个dll、 lib 和 exe。将编译出的这些后缀的文件拷贝出来,就是我们想要得到的文件。
cd /d c:/lua_build/src cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c ren lua.obj lua.o ren luac.obj luac.o link /DLL /IMPLIB:lua5.3.2.lib /OUT:lua5.3.2.dll *.obj link /OUT:lua.exe lua.o lua5.3.2.lib lib /OUT:lua5.3.2-static.lib *.obj link /OUT:luac.exe luac.o lua5.3.2-static.lib
我们来看下编译好的文件:
lua.exe >>> lua的脚本解释器,我们通过运行这个exe进入lua环境
luac.exe >>>一个把lua脚本文件编译成lua字节码(二进制执行文件)的编译器
lua.dll 和 lua.lib >>> lua的动态链接库文件,一般我们C/C++交互时链接这个文件就可以了
lua-static.lib >>>lua库的静态链接库,与上面时等价的
luac.lib >>>与luac功能相关的链接库
三、LUA调用栈
要弄清楚LUA和其它语言的交互,首先就要理解LUA调用栈。
在博主更新博客之前,这三个地址留作纪念:
https://blog.csdn.net/v_xchen_v/article/details/77249332
https://blog.csdn.net/wu554513392/article/details/60594724
https://www.cnblogs.com/dimin/p/7838674.html
四、LUA调用C/C++
五、C++调用LUA
日常的 挖坑,回填 …
快回来填坑啊!