Lua与C交互-环境搭建

98 阅读1分钟

Lua作为一种轻便的嵌入式语言,了解其是如何嵌入宿主语言以及如何与宿主语言交互,对掌握Lua的使用是相当重要的,在日常工作中我们可能一直在使用Lua写具体业务,却忽视了Lua被创造的初衷。我们将从调试环境搭建开始一步步讲解Lua与C交互。

1、平台环境

这里用的是win10 与 visual Studio 2013。 如果你用的是mac,你一定熟悉mac系统跟Xcode,大体原理是一样的。

2、Lua库

到官网去下载,如果你下载的是源文件,要在C中嵌入Lua, 为方便使用,我们自然需要Lua的头文件和库,所以用vs编译源文件,得到如下文件。当然你也可以下载二进制文件。

7409054-62bfb66e09e98076.png

如果源文件是C++,只需要#include <lua.hpp>即可。C需要导入 lauxlib.h   lua.h   lualib.h 。 .lib文件是静态库,即便我们使用动态库.dll,调试的时候静态库依然是需要添加依赖的。官方文档中说lua51类似lua5.1的序言一样。至于两个之间怎么配合的,官方并没有说明,反正就是两个都要 。  

3、新建vs工程

    打开VS,新建项目选择如下:

7409054-9e403a5f1f173fa3.png



7409054-897ef871105affea.png

4、引入Lua库

选择项目>xxx属性:

7409054-b86f2f588e6918c3.png

包含目录填入头文件路径,库目录填入库文件路径。还需要设置链接器,如下:

7409054-15c8da201e4e8952.png

在附加依赖项编辑加入lua静态库,点击确定。

5、检验一下环境

在C或C++源文件中 , #include 头文件后, 输入lua_State、luaL_openlibs等lua C 接口有自动提示且均不报错,就可以说明项目引入lua库成功了。