免费注册 查看新帖 |

Chinaunix

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

可以混合链接i686和x86_64的可执行程序和动态库吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-08 17:37 |只看该作者 |倒序浏览
弱弱的问一个问题:

我有一个32 bit的程序,平时它可以正常的x86_64的系统下运行。目前有需要把它所依赖的一个库变成64 bit的,但应用程序本身还要是32 bit的,原因是这个应用程序不能很顺利的在x86_64平台上编译通过。

所以就产生了一个需求是32位的应用程序需要去调用一个64位的库。

我简单的试验了一下,发现是不可以这样做的,如果把它们链接在一起,运行的时候会发生Segmentation Fault。直观上想一下,32和64位的程序的运行上下文并不一致,所以链接动态库是一定会有问题的。

不知道这个结论是不是正确。这背后的理论和原因是什么?有没有什么参考资料可以学习?请教各位,谢谢!

顺带想到的问题是Linux内核已经在把i686和x86_64两种架构合为一种统一的架构,目前似乎很大部分还只是把源代码放到了同一个目录,并没有真正的把它们完全一致化起来。不知道以后的方向是什么?会把这两种架构完全合并为一种吗?

论坛徽章:
0
2 [报告]
发表于 2009-05-09 08:23 |只看该作者
推荐你给内核版alb*大发站短
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP