- 主题:现在写程序是不是可以不再考虑大端计算机的存在了?
直接认定程序运行在小端上面,而不再考虑大端计算机的存在?
读写大端数据的时候,弄个工具函数进行转化。
读写小端数据的时候,直接拿内存里面的写入?
--
修改:hgoldfish FROM 27.152.144.*
FROM 27.152.144.*
支持啊。我现在搞自定义的网络协议也用小端。
大端派太异端了!
【 在 buildtolast 的大作中提到: 】
: linus不久前呼吁,网络传输也采用little endian。
--
FROM 112.51.42.*
8051 这种 CPU 要计算 16 位或者 32 位整数得自己用软件算吧。这种无所谓大端小端了。
我的意思是新的计算机已经不再有大端的。所以我们写程序时,不可不必为了兼容 8051 这种 CPU 去浪费新平台的指令周期。
【 在 spadger 的大作中提到: 】
: 8051是大端,理论上8位机没有大小端问题,不过8051默认编译器是大端。
--
修改:hgoldfish FROM 27.152.144.*
FROM 27.152.144.*
那没事啊。旧的仍然得转换。新的都统一用小端了。
【 在 tgfbeta 的大作中提到: 】
: 即使新协议规定小端,还有无数既有协议和格式依然使用大端
: 比如jpeg
--
FROM 27.152.144.*
哪个?
【 在 kingkang 的大作中提到: 】
: 嵌入式CPU还有不少支持大端的
--
FROM 27.152.53.*
这些都是很早以前的吧。
现在占有率怎么样?
不过在我看来,为了这些极少数嵌入式系统浪费整个人类社会大量的算力也没有必要。
应该是他们来兼容小端,而不是让小端计算机去兼容这些大端。
【 在 kingkang 的大作中提到: 】
: 处理器架构 字节序支持类型 典型代表型号 / 系列 主要应用领域
: PowerPC (PPC) 原生大端 / 双端 NXP QorIQ, MPC8xxx 系列 通信基带、工业控制、航空电子
: SPARC / LEON 原生大端 LEON3, LEON4 (基于 SPARC V8) 航天卫星、高可靠性抗辐射系统
: ...................
--
FROM 27.152.53.*
不是这个问题。
我看 linux 内核在设计各种协议的时候都直接用小端了。
以后我们写程序序列化反序列化数据的时候,就直接把当前机器当成小端。不写转换代码。
【 在 kingkang 的大作中提到: 】
: 现在的编译器会自动识别大小端的,程序几乎不用特别处理
--
FROM 27.152.53.*
我打算未来出机器边界的时候也直接传小端。
除了旧的网络协议那一票,仍然得兼容,不然以后都直接用小端。不管大端了。
【 在 z16166 的大作中提到: 】
: 你说的是没出单个机器的边界的情况。
: 边界之内看硬件,边界之外看协议
: 一、数据没出单个系统的,用LE还是BE取决于cpu。
: ...................
--
FROM 27.152.53.*
就像我上面说的,现在哪来的 BE 机器啊。
如果有也都是非常古老的跑了几十年谁都不敢动的那种。
【 在 z16166 的大作中提到: 】
: 应该没任何问题,只要你的app涉及到的cpu没BE的,或者BE的那些机器是弱势的。
--
FROM 27.152.53.*