我是靠谱客的博主 斯文天空,这篇文章主要介绍lua调用html链接,链接lua的正确方式,现在分享给大家,希望可以做个参考。

最近项目c应用程序嵌入lua脚本,在lua中用到了第三方库luasocket,程序启动报错:

Undefined symbol "lua_insert"

问题困扰我2天直到找到一片文章

链接lua的正确方式

这几天,我们遇到一个问题:在xy2.5引擎里面,使用posix库或者socket库时,主

程序会crash。,改变代码的顺序或加入 print代码,主程序又可能不会再crash了。检

查产生的core文件,发现内存已经被破坏掉了,无法从中得知调用堆栈的信息。经过后

来用多种手段检查(在另一篇文章中介绍),终于发现问题所在:在垃圾回收过程中,

free了dummynode_,而dummynode_实际上是一个静态变量,不是通过malloc分配的。

进一步分析,才发现是由于链接参数不正确导致的。

正确的编译和链接方式是:

1. lua解释器

按官方的做法,lua解释器被编译成静态链接库。其Makefile也未写明编译为动态链接

库的方式。因此,假定大家都用静态链接的方式使用lua。

2. 第三方库

如posix和socket,以socket库为例,连接生成socket.so时的指令为:

ld -o socket.so $(SOCKET_OBJS)

注意:这里并没有写成

ld -o socket.so $(SOCKET_OBJS) -llua

即没有把lua解释器也链接进来,如果加了-llua,就会在so

最后

以上就是斯文天空最近收集整理的关于lua调用html链接,链接lua的正确方式的全部内容,更多相关lua调用html链接,链接lua内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(135)

评论列表共有 0 条评论

立即
投稿
返回
顶部