lua 5.3 调用C++ dll

帝国队长 2016-12-05 04:39:53
以前写过lua 调用C++ dll
lua5.1用的是如luaL_openlib(L, "X", X, 0)
loadlibfunc=package.loadlib(libpath,"X")
现在新项目用的lua5.3 luaL_openlib 好像已经没有了
在网上找了一下说替换为
luaL_openlib(L, "mylib", mylib, 0)
变成
lua_getglobal(L, "mylib");
if (lua_isnil(L, -1)) {
lua_pop(L, 1);
lua_newtable(L);
}
luaL_setfuncs(L, mylib, 0);
lua_setglobal(L, "mylib");

然后读取用
local mathlib = require "mylib"

但是我这样写,一读就出错崩溃,为什么
请问lua5.3怎么读取dll啊
...全文
597 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ckyrt 2017-08-19
  • 打赏
  • 举报
回复
问题解决了吗
kuba120 2016-12-22
  • 打赏
  • 举报
回复
就是用你的方法,你确定你的编译DLL与你调用的解译器是同一个版本吗,别编是5.3的lua.lib 环境是5.1的那就要出错
pengzhixi 2016-12-05
  • 打赏
  • 举报
回复
用luajit吧 你会发现方便很多

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧