首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ARM上切换字节顺序

问在ARM上切换字节顺序
EN

Stack Overflow用户
提问于 2019-05-03 13:23:41
回答 2查看 3.4K关注 0票数 2

我听说ARM处理器可以在小端和大端之间切换。处理器需要这个做什么?它在Android手机上使用吗?

EN

回答 2

Stack Overflow用户

发布于 2019-05-03 17:19:38

根据处理器的不同,可以动态切换字节序。较老的处理器将在一个字节序状态下启动,并预计将停留在那里。在后一种情况下,整个设计通常设置为大端或小端。

支持混合字节顺序操作的主要原因是支持网络堆栈,其中被操作的底层数据集是本机高字节顺序的。这对于交换机/路由器和移动基站来说意义重大,其中处理器正在运行定义明确的软件堆栈,而不是作为通用应用程序设备运行。

请注意,在不同的ARM体系结构中有几种不同的大端行为实现,您需要检查这在任何特定核心上是如何工作的。

票数 3
EN

Stack Overflow用户

发布于 2019-05-03 14:25:00

您可以切换字节序,但在操作系统启动并运行后,您不会这样做。这只会把事情搞砸。如果你打算这么做,你应该在启动序列的早期就这么做。当你的应用程序运行时,字节顺序已被选择并且不会被改变。

你为什么要这么做?唯一真正的原因是,如果您正在编写必须处理大量低端数据的嵌入式软件,或者运行一个假定低端数据且未固定为低端不可知的程序。这种类型的数据往往来自以原生字节顺序(x86是小端)写出内容的x86应用程序。没有太多其他的理由去做了。您将看到ARM几乎完全以大端模式运行。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55963736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档