1
66
所有x86和x86-64机器(只是x86的扩展)都是小endian。 您可以通过如下方式确认:
|
2
12
文章中列出了一种了解结尾的简单方法。 Writing endian-independent code in C
|
3
11
假设您已经安装了python,您可以运行这一行程序,它将在小endian机器上打印“little”,在大endian机器上打印“big”:
|
4
6
“英特尔兼容”不是很精确。 英特尔曾生产大端处理器,特别是Strengarm和XScale。它们不使用IA32 ISA,通常称为x86。 在历史上,Intel还制造了小endian i860和i960,它们也不兼容x86。 再回到历史上,x86的前辈(8080、8008等)也不兼容x86。作为8位处理器,endianness并不重要… 现在,Intel仍然生产双端的Itanium(ia64):正常操作是big endian,但处理器也可以在小端模式下运行。它确实能够在小endian模式下运行x86代码,但本机ISA不是IA32。 据我所知,AMD的所有处理器都是x86兼容的,有一些扩展,如x86_64,因此必然是小endian。 Ubuntu可用于x86(little endian)和x86_(little endian),IA64(big endian)、ARM(el)(little endian)、PA-RISC(big endian,尽管处理器支持这两种功能)、PowerPC(big endian)和SPARC(big endian)的端口不太完整。我不相信有ARM(eb)(big endian)端口。 |
5
3
回答最后一个问题,答案是否定的。Linux能够在像旧一代PowerMacs这样的big endian机器上运行。 |
7
1
英特尔公司2004年11月15日发布的endianness白皮书 http://www.intel.com/design/intarch/papers/endian.pdf Contents ========= Introduction .................................................5 Analysis .................................................5 Code Portability .........................................5 Shared Data ..............................................5 Best Known Methods .......................................5 Definition of Endianness .....................................5 Merits of Endian Architectures ...............................6 Relevance of Endian Order ................................7 Byte Swapping ................................................8 Byte Swapping Methods ....................................8 Network I/O Macros ...................................8 Custom Byte Swap Macros ..............................9 Byte Swap Controls .......................................9 Compile Time Controls ...............................10 Run Time Controls ...................................10 Recovering Byte Swap Overhead ...........................11 Platform Porting Considerations .............................11 Data Storage and Shared Memory ..........................11 Data Transfer ...........................................12 Data Types ..............................................12 Unions ..............................................12 Byte Arrays .........................................12 Bit Fields and Bit Masks ............................12 Pointer Casts .......................................13 Native Data Types .......................................14 Endian-Neutral Code .........................................14 Guidelines for Implementing Endian-neutral Code .............15 Endian-neutral Coding Practices .........................15 Code Analysis ...........................................15 The Good ............................................16 The Bad .............................................16 The Ugly ............................................16 Converting Endian-specific to Endian-neutral Code ...........16 Reversing Endian-specific Architecture of Code ..............16 Conclusion ..................................................17 |
8
1
并使用此
如果LE
*宏将调用实函数并将其转换为 如果是
*宏将被定义为单词而不是函数,您的数字将在括号之间。 |
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |