- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析Solaris移植到linux的大小字节序问题-ffcs
浅析 Solaris 移植到 linux 的大小字节序问题
市场部/林铮
一. 前言
随着 Linux 操作系统的逐渐普及,很多公司都在考虑如何将已
有的 Solaris 应用程序和开发环境移植到 Linux 上。本文对 C/C++
语言从 solaris(32bit)移植到 linux(32bit)环境上的过程中,可能
遇到的大小字节序的问题和解决方案进行说明。
当有2个字节以上的数值存入计算机内存或是文档的时候,又或
是进行数据转送的时候,我们要考虑先把哪个位置的字节存入内存地
址的高位?或是要先转送哪个位置的数据?像这样的次序考虑,就称
为endian或者是byte order(字节序)。
Little endian(小端):按照最低字节在地址最低位,最高字节
在地址最高位的顺序排列。
Big endian(大端):按照最高字节在地址最低位,最低字节在
地址最高位的顺序排列。
字节序是根据CPU的构造来来决定的。一般来说,Solaris 是大
端,而Linux则是小端。
比如,要将这个为032bit(4字节)的16进制常量,
其按照不同的字节序存入内存时,其排列如下:
Big endian(Solaris):
内容 12 34 56 78
地址 0 1 2 3
Little endian(Linux):
内容 78 56 34 12
地址 0 1 2 3
二. 大小字节序对移植的影响
字节序的移植性问题的话,只对short, int, long, float,
double, pointer等多字节的类型有影响,而对单字节(char 型等),
或是字符串是没有影响的。
例如:
int size;
char data[7];
把十进制数10,和字符串012345分别赋值到size和data,在字
1/4
节序不同的机器中,对size和data进行二进制转送,结果如下:
像这样的字节序的不同,当在字节序不同的机器(OS)间进行二进
制数据文档共享的时候,或是通过网络进行通信的时候,就会产生问
题。在多个机器(OS)间进行数据交互的时候,
要事先决定是否把数据类型统一成某种形式。
关于字节序,要考虑以下的事项:
(1) 磁盘中的数据文档共享
(2) 网络中的数据传送
(3) 共用体(C 语言)
(4) 进行了型变换的指针(C 语言)
(5) 无视型定义的数据访问 (C 语言 )
(1) 磁盘上的数据文档共享
在单系的处理系统众写入的多字节数值,从别的处理系统中读取
的时候,发生了字节序的问题。或者是Symfoware,Oracle等数据库,
文档中进行二进制处理的时候也会发生问题。
在大端机器上做成的文档,要在小端机器上去读取的话,就要考
虑进行字节序转换,或者是对文档本身进行字节序转换。
(2) 网络的数据传送
Linux常用的Intel系列的机器,host byte order指的就是little
endian(小端),而与此对应得就是网络中的network byte order指
的就是big endian(大端)。
2/4
Solaris的话,
您可能关注的文档
- 水蒸气表和焓熵hs.ppt
- 水质自动站运维技术要求-蚌埠环境保护局.DOC
- 水资源五十中学张春洁请读16思考.PPT
- 水路货物运输保险条款-东京海上.DOC
- 水通电氧气1.PPT
- 永兴电子政务信息中心-桂阳.DOC
- 永义国际集团有限公司主要交易授出贷款-Easyknit.PDF
- 永州2016年集中面试人员分组618日共412人第一组共46人新.DOC
- 求职登记表-阳光融和医院.DOC
- 求职路上的那些事-陕西师范大学生命科学学院.PDF
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)