Luad使用独立的Lua
发布时间:2020-12-14 21:44:52 所属栏目:大数据 来源:网络整理
导读:编辑:这已被追溯到共享库,d运行时和os x的更普遍的问题.见: Initializing the D runtime on OS X 我正在尝试从Lua独立解释器访问一个简单的d函数. 我无法看到一个明显的方法让lua实例识别出一个d库,所以我尝试了这个hack import luad.all,luad.c.all;exter
编辑:这已被追溯到共享库,d运行时和os x的更普遍的问题.见:
Initializing the D runtime on OS X
我正在尝试从Lua独立解释器访问一个简单的d函数. 我无法看到一个明显的方法让lua实例识别出一个d库,所以我尝试了这个hack import luad.all,luad.c.all; extern (C) int luaopen_luad_test(lua_State* L) { auto lua = new LuaState(L); lua["addition"] = &addition; return(0); } int addition(int a,int b) { return(a+b); } 我知道当我调用require(“luad_test”)时,它会调用luaopen_luad_test(lua_State * L),让我可以访问解释器的lua_State.但是,当我打电话要求我只是得到一个段故障. 我完全看错了吗? 编辑:我在os x上使用lua 5.1.5并且我已经将“;..dylib”添加到package.cpath以便允许加载.dylib而不是.so edit2:我把它缩小了一点.在luaopen_luad_test中使用new会导致段错误. 解决方法
一种可能是您没有设置D运行时并且GC未处于有效状态.
我从来没有使用过luad(或没有它提供主要功能的D)所以我可能会离开基地. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |