Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318057
  • 博文数量: 57
  • 博客积分: 146
  • 博客等级: 入伍新兵
  • 技术积分: 769
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-29 14:57
文章分类
文章存档

2014年(39)

2013年(13)

2012年(5)

我的朋友

分类: C/C++

2014-02-27 09:31:45


1.联合体列出一般主机里具有对齐要求的类型。
2.
ROUND_UP向上取整,ROUND_DOWN向下取整。

点击(此处)折叠或打开

  1. union align{
  2.     int i;
  3.     long l;
  4.     long *lp;
  5.     void *p;
  6.     void (*fp)(void);
  7.     float f;
  8.     double d;
  9.     long double ld;
  10. };

  11. #define ROUND_UP(n) (((n)+sizeof(union align)-1)/(sizeof(union align)))*(sizeof(union align))
  12. #define ROUND_DOWN(n) ((n)/(sizeof(union align)))*(sizeof(union align))
阅读(895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~