lua 5.2 实现luaL_register 功能
来源:互联网 发布:windows配置文件丢失 编辑:程序博客网 时间:2024/04/30 23:39
lua 5.2 去掉了luaL_register功能,不能直接注册函数到一个全局table中了。
网上找了很多文章都是要导出到库,再引用库。
// my_math.c #include <lua.h>#include <lauxlib.h>#include <lualib.h> #include <math.h>#include <stdio.h> static int my_math_sin (lua_State *L) {lua_pushnumber(L, sin(luaL_checknumber(L, 1)));return 1;} static int my_math_cos (lua_State *L) {lua_pushnumber(L, cos(luaL_checknumber(L, 1)));return 1;} static const luaL_Reg mathlib[] = {{"my_cos", my_math_cos},{"my_sin", my_math_sin},{NULL, NULL}}; /*** Open my_math library*/LUALIB_API int luaopen_my_math (lua_State *L) { luaL_newlib(L, mathlib); return 1;}
LUALIB_API 是导出导入函数或extern,看是否指定 LUA_BUILD_AS_DLL
// callc.lua my_math = require("my_math") --my_math 是一个dll或so,由下面的.c生成 print(my_math.my_sin(3.14))print(my_math.my_cos(3.14))
如果要实现luaL_register,可以不导出dll,改用luaL_requiref在c里面注册这个load方法
luaL_requiref(L,"my_math",luaopen_my_math,0);这样就不用导出dll了,直接在exe里就行了
0 0
- lua 5.2 实现luaL_register 功能
- Lua 实现倒计时功能
- 实现lua 字符串spllit功能
- lua 屏蔽密码功能实现
- lua实现php的print_r 函数功能
- Redis 2.6 Lua脚本功能实现分析
- cocos2dx 3.3 Lua 实现倒计时功能
- OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能
- OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能
- Lua自己实现string.split功能
- lua实现ipairs、pairs的功能
- lua以xpcall实现try/catch功能
- lua实现ipairs、pairs的功能
- undefined reference to luaL_register
- 用Lua实现AutoIt 中StringSplit 函数的功能
- 用lua写了个小程序实现黑名单功能
- cocos2dx lua实现按钮的放大和缩小功能
- lua中打印所以类型功能实现table嵌套table
- web.config 配置文件
- jquery 插件入门
- socket网络通讯基础笔记
- 从微信谈起,如何优化互联网APP心跳机制----智能心率+短信推送
- [Java 12 IO] File 类 的几个基本操作
- lua 5.2 实现luaL_register 功能
- redhat6.4安装后的没有图形用户界面解决方案
- UML用例知识点
- Swing抗锯齿处理
- JNDI 是什么
- SVM支持向量机---(Lagrange Duality)
- 命令/知识点总结
- 怀孕期间准妈妈多吃西红柿
- matlab 线性拟合