zoukankan      html  css  js  c++  java
  • lua(注册c库)

    #include <iostream>
    #include <string.h>
    
    extern "C"
    {
    #include "lua-5.2.2/src/lua.h"
    #include "lua-5.2.2/src/lauxlib.h"
    #include "lua-5.2.2/src/lualib.h"
    }
    //定义库函数
    static int l_dir(lua_State* L)
    {
    
    }
    
    static const struct luaL_Reg mylib[] = 
    {
        {"dir", l_dir},// 字符串和函数指针
        {
            nullptr    , nullptr//用null表示结束
        }
    };
    
    /**
     *@brief 声明主函数
     *@param "mylib" 库的名字
     *@param 0 无需注册公共的upvalue
     */
    int luaopen_mylib(lua_State* L)
    {
        /*luaL_openlib 函数接受一个 C 函数的列表和
        他们对应的函数名,并且作为一个库在一个 table 中注册所有这些函数*/
        /*
        应该是这样的他建一个table然后注册函数到这个表中,然后等函数返回时将这个表放入栈中
        */
        luaL_openlib(L, "mylib", mylib, 0);
        return 1;
    }
    
    int main()
    {
        
        getchar();
        return 0;
    }
  • 相关阅读:
    网络并发服务器设计
    linux脚本编程技术
    守护进程学习
    UDP通讯程序设计
    TCP通讯程序设计
    linux中socket的理解
    linux网络协议
    kafka ProducerConfig 配置
    crontab定时执行datax
    crontab
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/4308778.html
Copyright © 2011-2022 走看看