浅谈LWIP对齐问题
来源:互联网 发布:php入门很简单 pdf 编辑:程序博客网 时间:2024/05/02 02:39
在LWIP库里面,我们看到很多对齐的语句
上代码1:
#ifndef MEM_ALIGNMENT#define MEM_ALIGNMENT 4 //表示4个字节对齐#endif#ifndef LWIP_MEM_ALIGN_SIZE#define LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1) & ~(MEM_ALIGNMENT-1))#endif实际对齐例子:
#include <stdio.h>#ifndef MEM_ALIGNMENT#define MEM_ALIGNMENT 4#endif#ifndef LWIP_MEM_ALIGN_SIZE#define LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1) & ~(MEM_ALIGNMENT-1))#endif/* *请注意LWIP的内存对齐size一定是2^n次方的方式对齐, *对齐计算方法如下 *///size = 14 为例, MEM_ALIGNMENT =4//(14 + 4 - 1 ) & ~(4 - 1)//所以size + MEM_ALIGNMENT - 1的范围是size < (size + MEM_ALIGNMENT - 1) < (size + MEM_ALIGNMENT)//17 & ~3 //取反去除(MEM_ALIGNMENT - 1)上的位//10001//11100//-----------//10000//得出正确的结果void main(){int size = 13;printf("size:%d\n", LWIP_MEM_ALIGN_SIZE(size));}
- 浅谈LWIP对齐问题
- 字节对齐的问题浅谈
- LWIP -自定义内存对齐
- 浅谈C语言字节对齐问题
- 小议LWIP——内存对齐
- lwip移植的问题
- LWIP 问题:DHCP
- LwIP裸机ping问题
- 浅谈 内存对齐
- 浅谈字节对齐
- LwIP多TCP连接问题
- LWIP接收数据阻塞问题
- lwip多机通信问题
- tm32f207 + DP83848 + Lwip初始化问题
- lwip
- lwip
- LWIP
- 浅谈VC中的字节对齐
- 查出生月份,看宝宝健康
- 六大视频网站播放清晰度比较
- C++拷贝构造函数(深拷贝,浅拷贝)
- 2011年上学年河北金融学院CSDN高校俱乐部学术活动总结
- redhat 5安装 oracle 10g
- 浅谈LWIP对齐问题
- android 手机设备唯一标识
- 修改Oracle目录权限造成ORA-12537
- VC 屏蔽ESC,ENTER
- Vulnerabilities in SWFUpload in multiple web applications: WordPress, Dotclear, InstantCMS, AionWeb
- CF-48E. Ivan the Fool VS Gorynych the Dragon(bfs+dfs+判重回路)
- 可以让你少奋斗10年的工作经验
- 三星星空大赛宣传活动正式启动
- java synchronized