免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2625 | 回复: 5
打印 上一主题 下一主题

[函数] 请问如何解决:LINUX下共享库会崩溃,静态库(archive)就没问题 [复制链接]

招聘 : Java研发
论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-30 19:59 |只看该作者 |倒序浏览
真是太奇怪了!
我做的库,里面有一些全局变量。
做成共享库(so),跟主程序连接运行后,会在初始化的时候死掉。看了一下调用栈,是死在某些全局变量的构造函数里面。
做成静态库,再链接到主程序里面运行就OK了。

怎么会这样呢???该如何解决???

论坛徽章:
0
2 [报告]
发表于 2009-07-30 21:16 |只看该作者

回复 #1 idsel 的帖子

静态连接 不崩溃, 那么运行正常吗?
很怀疑是编译时引用了不同版本的头文件. 当然, 可能的情况太多了...

论坛徽章:
0
3 [报告]
发表于 2009-07-30 23:09 |只看该作者

回复 #1 idsel 的帖子

死掉是什么意思,是出现死循环了,程序没反应了,还是出现段错误或其它错误,程序退出了。
你在载入这个共享库时,还有其它正在执行的程序也载入了这个库了玛?

招聘 : Java研发
论坛徽章:
0
4 [报告]
发表于 2009-07-31 00:21 |只看该作者
静态链接库目前看来运行是正常的!
死掉是指:Segmentation fault.

论坛徽章:
0
5 [报告]
发表于 2009-07-31 08:56 |只看该作者
用 ld 生成的动态库,在某种特殊情况下不会初始化全局对象。如果是这种情况,用 gcc 重新生成动态库。

论坛徽章:
0
6 [报告]
发表于 2009-09-08 14:04 |只看该作者
我也遇到这样的问题
请帮忙分析下
http://bbs2.chinaunix.net/thread-1569855-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP