Luad使用独立的Lua

Luad使用独立的Lua,第1张

概述编辑:这已被追溯到共享库,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_ 编辑:这已被追溯到共享库,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)所以我可能会离开基地.

总结

以上是内存溢出为你收集整理的Luad使用独立的Lua全部内容,希望文章能够帮你解决Luad使用独立的Lua所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1219768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存