Chinaunix首页 | 论坛 | 博客
  • 博客访问: 65335
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-10 09:58
个人简介

专业提供linux应用软件开发、oracle数据库底层开发,服务器开发及相关技术支持服务

文章分类

全部博文(24)

文章存档

2015年(24)

我的朋友

分类: C/C++

2015-02-13 08:56:15

开发中会遇到字节不对齐需要对齐操作,下面是此类的两个小结,以便以后开发中直接使用。

#define ALIGNMENT(__v, __bytes) do{ int _i=__v%__bytes; if(_i) __v+=(__bytes-_i); }while(0)


_v是表示的长度,__bytes是对齐字节数

4字节对齐:

len = 10;byte = 4;

ALIGNMENT(len,byte);

len 会等于12


也可以这样,8字节对齐

size_t align8(size_t s) {if(s & 0x7 == 0)return s;return ((s >> 3) + 1) << 3;
}
阅读(521) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~