Zelig[冰冷的变色龙]-C/C++/Delphi/Golang小记[记录自己学习,记录Windows/Linux/Mac 学习小记]

C++ Sol2 库的使用 (一) 先进的LuaAPI封装库

Sol2 库的使用 (一)

前段时间放弃了一个Exxxx的lua解析库
当时用哪个 只是应为觉得简单。。。 比较容易使用 哈!(其实就是一直觉得sol2 麻烦 但是真的 开始进入门槛后其实觉得这个真的是更好用 哈)
sol2 可以用在  lua 5.1~5.4 luajit2.0 的。。
我这边编译的是 5.3的

先下载lua源码 编译

http://www.lua.org/download.html
如果在windows上 用的 也是 vs2019  我这边有编译好的 静态库
http://ct.icy6.com/f/18943335-501558872-7d7860

从github 下载下来的 sol2源码 使用 其 include/sol 下的文件即可

按照他的例子

#include <sol/sol.hpp>
#include <cassert>

int main() {
    sol::state lua;
    int x = 0;
    lua.set_function("beep", [&x]{ ++x; });
    lua.script("beep()");
    assert(x == 1);
}
/*--------------------------------------------------------------------*/
#include <sol/sol.hpp>
#include <cassert>

struct vars {
    int boop = 0;
};

int main() {
    sol::state lua;
    lua.new_usertype<vars>("vars", "boop", &vars::boop);
    lua.script("beep = vars.new()\n"
               "beep.boop = 1");
    assert(lua.get<vars>("beep").boop == 1);
}

sol2 用到了许多C+11/14特性,因此编译时需要编译器支持C14标准甚至C+17标准

所以vs2019 是默认 14 改成 17 吧。。。

examples 下有很多小例子 可以多看看

好了开始你的编码吧 下一节 我举一些自己用到的例子咯….

相关推荐

评论

  • 昵称 (必填)
  • 邮箱
  • 网址