嵌入式脚本语言:Lua

最近在调研嵌入式脚本语言,发现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

日常的 挖坑,回填 …

 

《嵌入式脚本语言:Lua》有1条评论

发表评论