#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, );
return ;
} int main()
{ getchar();
return ;
}

lua(注册c库)的更多相关文章

  1. lua注册函数

    #include <stdio.h> #include <math.h> #define MAX_COLOR 255 extern "C" { #inclu ...

  2. 生成lua的静态库.动态库.lua.exe和luac.exe

    前些日子准备学习下关于lua coroutine更为强大的功能,然而发现根据lua 5.1.4版本来运行一段代码的话也会导致 "lua: attempt to yield across me ...

  3. C中调用LUA回调(LUA注册表)

    实现原理: 通过将LUA中得回调函数存入LUA注册表中来保存LUA函数,然后在需要回调时从LUA注册表中取出LUA函数进行调用 下面是一些预备知识:(学习两个重要的函数) 原汁原味的英文解释的最透彻, ...

  4. lua luna工具库

    luna工具库 概述 luna库提供了几个lua开发的常见辅助功能: lua/c++绑定 lua序列化与反序列化 变长整数编码,用于lua序列化,当然也可以方便的用于其他场合 这里把代码编译成了动态库 ...

  5. 使用Lua的扩展库LuaSocket用例

    目录结构 LuaSocket 是 Lua 的网络模块库,它可以很方便地提供 TCP.UDP.DNS.FTP.HTTP.SMTP.MIME 等多种网络协议的访问操作. 它由两部分组成:一部分是用 C 写 ...

  6. lua的C库

    在云风的ejoy2d里是没有dll和so之类的东西的, 所有的C扩展都是类似这样写的: int ejoy2d_shader(lua_State *L) {      luaL_Reg l[] = { ...

  7. c++调用lua注册的带参数的回调

    main.cpp int lua_cb = LUA_REFNIL; int lua_cb_arg = LUA_REFNIL; int setcb(lua_State *L) { lua_pushval ...

  8. Lua 之string库

    标准string库 基础字符串函数 string.len(s) 返回一个字符串的长度,例如 string.rep(s, n) 返回一个新的字符串,该字符串是参数s重复n次得到的结果,例如 )) -- ...

  9. Lua 之table库

    标准table库 table.concat(table, sep,  start, end) concat是concatenate(连锁, 连接)的缩写,table.concat()函数列出参数中指定 ...

随机推荐

  1. git reset revert区别

    git revert HEAD~1 撤销倒数第二次提交,并将这次操作作为一个新提交添加到log里,之前的提交历史不变,是撤销某次提交 git reset,直接回退到指定版本 git reset --s ...

  2. axure产品原型图,元件库导入方法

    axure是公司产品经理常用的软件,用来绘制产品原型图. 为了画出漂亮的原型图,需要各色各样的元件.因此导入各类元件库很有用处: 打开元件库视图: 载入元件库,选择事先下载好的元件 元件库下载:htt ...

  3. OpenGL矩阵类(C++) 【转】

    http://www.cnblogs.com/hefee/p/3816727.html OpenGL矩阵类(C++) 概述 创建&初始化 存取器 矩阵运算 变换函数 实例:模型视图矩阵 实例: ...

  4. Git历险记(一)

    [编者按]作为分布式版本控制系统的重要代表——Git已经为越来越多的人所认识,它相对于我们熟悉的CVS.SVN甚至同时分布式控制系统的 Mercurial,有哪些优势和不足呢.这次InfoQ中文站有幸 ...

  5. CentOS7下挂载硬盘笔记

    CentOS7下挂载硬盘笔记 准备工作 机器:DELL R730 系统:CentOS 7.4.1708 (Core) x86_64 新增硬盘:三星960PRO 关闭服务器加上新硬盘,然后重启 查看硬盘 ...

  6. Yum编译安装Error Downloading Packages报错

    1:执行yum clean all 清除缓存目录下的软件包及旧的headers: 2:接着执行 yum list重新列出所有已经安装和可以安装的软件包: 3:重新执行上述命令,发现yum编译成功: 注 ...

  7. Linux学习之二十-Linux文件系统

    Linux文件系统 文件系统的定义 文件系统是操作系统的必备软件,文件系统是对一个存储设备上的数据(block)和元数据(inode)进行组织的一种机制.文件系统可以帮助用户管理磁盘空间,进行文件的快 ...

  8. 为windows开启winrm service, 以便进行远程管理

    为windows开启winrm service, 以便进行远程管理   是windows 一种方便远程管理的服务:开启winrm service,便于在日常工作中,远程管理服务器,或通过脚本,同时管理 ...

  9. Linux中MySQL数据库max_allowed_packet的调整

    在MySQL数据库里某表有一个blob字段,当上传文件超过1M的时候出现下面的错误: PreparedStatementCallback; SQL [insert into uos.docfile(r ...

  10. Windows网页上碰到无法完全显示的图片怎么办

    如图所示,下一幅图片只能显示一半. 我们选中并在新标签中打开 一般即可正常显示,如果还不行,留意地址栏,这就是这个图片的真实地址,我们完全可以用迅雷直接把这幅图片下载下来. 我们甚至可以猜测,去掉后缀 ...