1. 用union结构区分大小端 #define read_bits(stc, field)({stc.raw = 0x12345678; stc.bits.field;}) union a{ unsigned int raw; struct { unsigned int bit_a : 8; un ...
分类:
其他好文 时间:
2021-04-23 12:09:11
阅读次数:
0
1.忘记注释结束符 代码 a = b; /* 出现bug c = d; /* c = d将不会执行*/ 2.意外的赋值/意外的bool表达式 代码: if(a = b) c; /*a恒等于b,只有当b!=0的时候才执行*/ 再看下面的代码: if(0 < a < 5) c; /*布尔表达式恒为真*/ ...
分类:
其他好文 时间:
2021-03-10 13:28:05
阅读次数:
0
代码已测试 public static long Reverse(long value) { return (((long)Reverse((int)value) & 0xFFFFFFFF) << 32) | ((long)Reverse((int)(value >> 32)) & 0xFFFFFF ...
分类:
Web程序 时间:
2020-12-17 12:57:32
阅读次数:
3
be32_to_cpup()接口是干什么的呢? 转换一个无符号的, 大端, 32位值到一个cpu的大小端值(如果cpu为大端序,就将数值直接返回此值;如果cpu为小端序,就将数值转换为小端序) be32_to_cpup()接口的定义(linux内核源码的版本为5.9) #define be32_to ...
分类:
系统相关 时间:
2020-10-21 20:22:30
阅读次数:
38
不同的 CPU 有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种 1 . Little endian :将低序字节存储在起始地址 2 . Big endian: 将高序字节存储在起始地址 LE little-endian 最符合人的思维的字节序 地址低位存储值 ...
分类:
其他好文 时间:
2020-08-26 17:09:20
阅读次数:
43
1、引言 最近在从头重写 MobileIMSDK 的TCP版,自已组织TCP数据帧时就遇到了字节序大小端问题。所以,借这个机会单独整理了这篇文章,希望能加深大家对字节序问题的理解,加强对IM这种基于网络通信的程序在数据传输这一层的知识掌控情况。 程序员在写应用层程序时,一般不需要考虑字节序问题,因为 ...
分类:
其他好文 时间:
2020-08-13 22:15:35
阅读次数:
64
###大端:低地址存放高位字节,高地址存放低位字节 ###小端:低地址存放低位字节,高地址存放高位字节 #include <stdio.h> int main() { int i = 1; (*(char*)&i == 1) ? printf("Little-endian\n") : printf( ...
分类:
其他好文 时间:
2020-06-11 10:40:17
阅读次数:
52
嵌入式编程 第1章 绪论 1.1 ARM介绍1 第一部分:ARM相关概念 0、为什么要推出ARM汇编 ? 0.1 对比X86,8051汇编,从更底层的角度去理解相关的知识的 ? 0.2 为后续嵌入式课程作准备(S3C2440,STM32F103,EXYNOS4412) ? 0.3 学习目标:了解AR ...
分类:
其他好文 时间:
2020-06-10 11:29:26
阅读次数:
89