免费注册 查看新帖 |

Chinaunix

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

[C] 有关动态库的一个问题,应用程序正常,做成.so出现异常 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-17 15:40 |只看该作者 |倒序浏览
我将应用程序调试通过后,将其中一大部分做成动态库,即.so文件,在一个C文件里面用一个函数进行调用,该函数也没传输任何的参数。但该调用出现了一个问题,即程序运行该函数到了一半的时候,函数运行出现错误。

而如果不做成动态库的话,程序运行完全正常。

做动态库的时候,我在gcc选项里面使用了 -shared -fPIC参数。

请问,可能的原因是什么?有人遇到过这种问题吗?

论坛徽章:
0
2 [报告]
发表于 2008-03-17 18:31 |只看该作者
顶起来。。。。。。。。。。。。。。。。。

论坛徽章:
0
3 [报告]
发表于 2008-03-17 18:59 |只看该作者
错误能不能具体一点呢?

论坛徽章:
0
4 [报告]
发表于 2008-03-17 19:00 |只看该作者

回复 #3 mymtom 的帖子

这样的意思:

hello()
{
;
}

main()
{
hello();
}

main和hello可以编译成一个可执行文件,也可以将hello单独做成一个.so库。按说运行结果应该是一样的,但我将程序做成动态库后,在运行hello()的时候却出错了。

论坛徽章:
0
5 [报告]
发表于 2008-03-17 19:14 |只看该作者
原帖由 armm 于 2008-3-17 19:00 发表
这样的意思:

hello()
{
;
}

main()
{
hello();
}

main和hello可以编译成一个可执行文件,也可以将hello单独做成一个.so库。按说运行结果应该是一样的,但我将程序做成动态库后,在运行 ...


那就可能是做成动态库的方法有点问题. 本版的精华里面好像有, 你找找.

论坛徽章:
0
6 [报告]
发表于 2008-03-17 20:17 |只看该作者

回复 #5 scutan 的帖子

多谢楼上大侠指点~~~

继续调试~~~

论坛徽章:
0
7 [报告]
发表于 2008-03-19 09:49 |只看该作者

回复 #5 scutan 的帖子

谢谢mymtom、 scutan  两位大侠,问题解决。

是用了两个不同的头文件,头文件对数据结构的定义不同引起的。

再次感谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP