• 将C注册到lua环境中使用


    注册到lua的方式有两种,一种是lua解释器,如果支持动态链接,使用动态链接机制,将函数接口编译成动态链接库,然后将动态链接库放到lua的C路径(LUA_CPATH)中,然后在lua文件中直接使用 require "xxx",这句话会使主机编写的动态链接库链接到lua,并寻找xxx,将模块注册到package.loaded中。 另一种方式是直接将自己写好的接口函数与lua源文件一起重新编译生成一个新的lua解释器,使用新的解释器代替旧的。此外,还需要以某种方式来告诉解释器,它应在打开新状态的同时打开这个模块。

    使用动态库链接方式将接口注册到lua环境

    static luaL_Reg  xxx[] = {
        {"xya", xya},
        {"bbb", bbb},
        {NULL, NULL}
    };

    int luaopen_xxx(lua_State *L)
    {
        /*create module*/
        luaL_register(L, "xxx", xxx);
        return 1;
    }

    参考资料:

    https://blog.csdn.net/nice_xp/article/details/52712140

  • 相关阅读:
    day⑥:logging模块
    day⑥:shelve模块
    day⑥:xml模块
    day⑤:冒泡排序
    day⑤:模块
    day⑤:re深入
    day④:递归
    day④:迭代器
    day④:装饰器
    day③:函数式编程
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/8931614.html
Copyright © 2020-2023  润新知