Lua作为一种轻便的嵌入式语言,了解其是如何嵌入宿主语言以及如何与宿主语言交互,对掌握Lua的使用是相当重要的,在日常工作中我们可能一直在使用Lua写具体业务,却忽视了Lua被创造的初衷。我们将从调试环境搭建开始一步步讲解Lua与C交互。
1、平台环境
这里用的是win10 与 visual Studio 2013。 如果你用的是mac,你一定熟悉mac系统跟Xcode,大体原理是一样的。
2、Lua库
到官网去下载,如果你下载的是源文件,要在C中嵌入Lua, 为方便使用,我们自然需要Lua的头文件和库,所以用vs编译源文件,得到如下文件。当然你也可以下载二进制文件。
如果源文件是C++,只需要#include <lua.hpp>即可。C需要导入 lauxlib.h lua.h lualib.h 。 .lib文件是静态库,即便我们使用动态库.dll,调试的时候静态库依然是需要添加依赖的。官方文档中说lua51类似lua5.1的序言一样。至于两个之间怎么配合的,官方并没有说明,反正就是两个都要 。
3、新建vs工程
打开VS,新建项目选择如下:
4、引入Lua库
选择项目>xxx属性:
包含目录填入头文件路径,库目录填入库文件路径。还需要设置链接器,如下:
在附加依赖项编辑加入lua静态库,点击确定。
5、检验一下环境
在C或C++源文件中 , #include 头文件后, 输入lua_State、luaL_openlibs等lua C 接口有自动提示且均不报错,就可以说明项目引入lua库成功了。