免费注册 查看新帖 |

Chinaunix

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

大小端的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-18 18:47 |只看该作者 |倒序浏览
sparc在默认的情况下工作在大端模式下, 由 PSTATE.cle 决定 ,有特权指令是可以写 PSTATE, 但在用户态,能否设定以小端模式从内存读数据?

论坛徽章:
0
2 [报告]
发表于 2008-11-19 13:40 |只看该作者

回复 #1 zerocool_08 的帖子

up\r\n\r\n请大家指点一下啊 , 看了很多文档,都没有提到这方面的。

论坛徽章:
0
3 [报告]
发表于 2008-11-21 10:48 |只看该作者
大小端的问题通常是由于应用在大型机(比如SPARC)架构与x86/x64架构之间通信或应用在不同机器架构间移植发生的问题。一般对于网络通信,消息包格式都会使用中性格式,比如通过char格式,或通过一些协议进行转换,比如通过hton?()和ntoh?()进行转换。如果是移植,通常会一次性进行修改应用,达到一劳永逸的目的。对于LZ询问的这个问题,我虽然也不知道SPARC上是否存在用户态的接口,但我个人认为即使有也不值得这样做,原因是这样的接口肯定不属于稳定的接口,说不定在今后的哪个Solaris版本中就被修改或删除了,而且这肯定是Sun专有的接口,而大小端的问题在其他产商也存在的,你这样修改应用后,应用的移植性就很差了。所以,我建议对应用进行适当修改来避免产生架构上的大小端问题。

论坛徽章:
0
4 [报告]
发表于 2008-11-21 14:41 |只看该作者

回复 #3 li_hunter 的帖子

没办法, 需求决定,在sparc上, 输入的数据都是小端格式, 如果没有用户态去取小端格式数据的话,只能自己转换,但效率肯定不高。\r\n\r\n我想问一下, 有没有saloris系统,在安装的时候,可以指定就是安小端方式安装的?\n\n[ 本帖最后由 zerocool_08 于 2008-11-21 14:42 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-11-23 12:10 |只看该作者

回复 #4 zerocool_08 的帖子

可以选用Solaris 10 x86/x64系统。

论坛徽章:
0
6 [报告]
发表于 2008-11-23 16:01 |只看该作者

回复 #5 li_hunter 的帖子

Solaris 10 x86/x64系统 能装在sparc上吗?

论坛徽章:
0
7 [报告]
发表于 2008-11-24 21:07 |只看该作者

回复 #6 zerocool_08 的帖子

你误会了,Solaris 10 x86/x64当然不能安装在SPARC服务器上。我的意思是:如果你的应用在开发时是采用小端模式才能正确解析内存读数,你完全可以将应用在Soalris 10 x86/x64上重新编译(而不必改程序),这样取数就正确了。当然,你将弃SPARC服务器而采用x86/x64服务器。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP