我将Lua嵌入到C主机中。我在Lua中注册了几个C函数。
有什么方法可以让我在调用Lua然后调用Lua的C函数时,可以将值从“外部” C代码传递到“内部” C代码?
特定的问题是我有一个HTTP请求指针,我需要从回调函数访问该HTTP请求指针,并且由于其可能是多线程代码,所以我不希望将其存储在全局变量中。
当您的“外部” C代码调用Lua时,请将HTTP请求指针作为lightuserdata参数传递。在Lua内部,将其视为不透明值,然后将其作为参数传递给“内部” C回调。然后,让您的“内部” C代码读取它并将其转换回正确的类型。
顺便说一句,Lua本身不是线程安全的,因此如果您的应用程序是多线程的,请当心。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句