Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
询问并推荐Lua与C/C+合作的方式+;?_C_Lua - Fatal编程技术网

询问并推荐Lua与C/C+合作的方式+;?

询问并推荐Lua与C/C+合作的方式+;?,c,lua,C,Lua,最近我学习了Lua,我们需要它与现有的C代码(HTTP服务器)协同工作 从Lua books,我们知道也许有办法让他们合作: 从Lua,您可以在共享库(xxx.so)中包装C代码,Lua使用require导入它们 在C中,您可以使用现有的LuaAPI对Lua_状态进行操作,这是一些技巧,但效果很好 我采用了这两种方法,一切看起来都很棒,通过使用Lua,我们可以节省大量时间来实现我们的业务逻辑。但是我对当前的体系结构很紧张,虽然它没有严重的问题,但我总是担心它,如果发生了一些事情,例如,严重的

最近我学习了Lua,我们需要它与现有的C代码(HTTP服务器)协同工作

从Lua books,我们知道也许有办法让他们合作:

  • 从Lua,您可以在共享库(
    xxx.so
    )中包装C代码,Lua使用
    require
    导入它们
  • 在C中,您可以使用现有的LuaAPI对
    Lua_状态
    进行操作,这是一些技巧,但效果很好
我采用了这两种方法,一切看起来都很棒,通过使用Lua,我们可以节省大量时间来实现我们的业务逻辑。但是我对当前的体系结构很紧张,虽然它没有严重的问题,但我总是担心它,如果发生了一些事情,例如,严重的性能瓶颈,内存相关等等


如果有人在这方面有丰富的经验,请给出一些建议。谢谢 PUL.设计的C和C++都能很好地工作。C API就是为了实现这一点

您不需要创建和使用共享库来扩展Lua。这是扩展标准命令行解释器的最简单方法,但是在您自己的应用程序中链接Lua的静态C库应该很容易(如果不容易的话)


如果您想查看Lua的一些C库示例,请参阅。还有很多其他问题。

需要编辑您的问题,您想问什么还不太清楚。标题要求一件事,内容似乎要求内存之外的东西-你不必担心垃圾收集器的原因。当然,除非您没有使用自己的引用计数机制或诸如此类的机制,否则在这些机制中存在错误,您可以很简单地引入内存泄漏。我还记得,对lua堆栈的错误操作可能会导致一些错误。