2015年2月12日

关于结构体内存对齐

摘要: 对齐规则如下:1、 结构体的大小等于结构体内最大成员大小的整数倍2、 结构体内的成员的首地址相对于结构体首地址的偏移量是其类型大小的整数倍,比如说double型成员相对于结构体的首地址的地址偏移量应该是8的倍数。3、 为了满足规则1和2编译器会在结构体成员之后进行字节填充!注:1. 内存对齐只是一... 阅读全文

posted @ 2015-02-12 11:46 Stomach_ache 阅读(169) 评论(0) 推荐(0) 编辑

memcpy 和 memmove

摘要: memcpy 原形为:void *memcpy(void *dest, const void *src, size_t n);其用于内存空间的拷贝,但是并没有考虑内存重叠问题。memmove原形为:void * memmove ( void * dst,const void * src,size_t... 阅读全文

posted @ 2015-02-12 11:43 Stomach_ache 阅读(131) 评论(0) 推荐(0) 编辑

typeof, offsetof, container_of宏

摘要: container_of宏实现如下:1 #define container_of(ptr, type, member) ({ \ 2 const typeof( ((type *)0)->member ) *__mptr = (ptr); \ 3 (type *)... 阅读全文

posted @ 2015-02-12 11:31 Stomach_ache 阅读(273) 评论(0) 推荐(0) 编辑

导航