|
|
1
-1
你的安全问题似乎是
通过工会进行的PS型夯实 perfectly well-defined . |
|
2
-1
我相信以下是我问题的最佳答案之一。我使用了@0 andriy提供的链接到内核源代码中的现有示例。 转换有符号16位值以进行传输
转换多个有符号16位值以进行传输
一个快速的免责声明,我仍然需要检查这个代码是否正确/编译。 总的来说,我对复制和转换多个值的endianness的解决方案有点不满意,因为它容易出现拼写错误,而且可以很容易地实现为宏。 |
|
3
-2
如果Linux机器总是小endian的,并且协议总是大endian的,那么代码工作正常,您不需要更改任何东西。 如果出于某种原因需要使Linux代码endian独立,那么可以使用:
如果存在强制转换以确保不对签名类型执行正确的移位,则签名类型将调用非可移植实现定义的行为。
与任何其他版本相比,位移位的优势在于它们在硬件和终结点之上的抽象级别上工作,允许特定的编译器生成底层内存访问的指令。代码,例如
|
|
|
Nils · 二进制文件中快速反转float32端的方法 8 年前 |
|
|
rubyquartz · 交换无符号短整数的字节 8 年前 |
|
|
Lefteris · 将二进制数据读取到long int 8 年前 |
|
|
smokums · 小端点编码Go lang 8 年前 |
|
|
user3003999 · 字节顺序错误代码是如何工作的? 8 年前 |
|
|
memeKing · Python-数据包处理和修改 8 年前 |
|
|
Juan González · 火星MIPS模拟器是大端还是小端 8 年前 |