lua调用失败是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua调用失败是啥意思相关的知识,希望对你有一定的参考价值。
参考技术A Lua中使用 local a = require "xxx" 的方式加载自己用C实现的DLL,DLL中有导出函数 luaopen_xxx 。调试过程中发现,luaopen_xxx 传入的 L 是有值的,但是使用 lua_gettop 拿到的是 -1,其他的操作都会出现崩溃。
一番调试和查阅文档后发现,DLL中使用的 Lua.dll 并非执行脚本的 Lua.dll,这样两者 Lua 引擎就不是同一进程(动态库)的空间了,上下文对不上,所以才引发了一系列的错误。 参考技术B 回答
Lua中使用 local a = require "xxx" 的方式加载自己用C实现的DLL,DLL中有导出函数 luaopen_xxx 。调试过程中发现,luaopen_xxx 传入的 L 是有值的,但是使用 lua_gettop 拿到的是 -1,其他的操作都会出现崩溃。一番调试和查阅文档后发现,DLL中使用的 Lua.dll 并非执行脚本的 Lua.dll,这样两者 Lua 引擎就不是同一进程(动态库)的空间了,上下文对不上,所以才引发了一系列的错误。
以上是关于lua调用失败是啥意思的主要内容,如果未能解决你的问题,请参考以下文章