我是靠谱客的博主 斯文天空,最近开发中收集的这篇文章主要介绍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的正确方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部