- 博客(6)
- 收藏
- 关注
原创 【无标题】
attribute((aligned(n))): 用于指定变量的内存对齐方式。如果变量被标记为 attribute((aligned(n))),则编译器将为该变量分配内存时以 n 的倍数对齐。如果函数被标记为 attribute((cdecl)),则该函数的调用将从 C 语言风格的调用约定 (也称为较低级调用约定) 中调用。与 attribute((aligned(n))) 不同的是,该属性不会为变量分配内存,而是指定结构的对齐方式。attribute((used)): 用于指定变量是否被实际使用。
2023-04-20 23:23:42
235
原创 Redis数据结构之压缩列表ziplist
Redis数据结构之压缩列表ziplist源码版本:REDIS 5.0.4 ziplist是一个特殊编码的双链表,他被设计出来用以节省内存,它可以同时存储字符串和整整形数,其中整数被编码为实际整数,而不是一系列字符。它可以在O(1)的时间进行头部的插入和尾部的插入,但是他的每次插入都需要进行内存的分配,耗时与表中节点数目有关。ziplist内存布局zip...
2019-04-01 00:27:04
152
原创 Redis数据结构之链表
Redis数据结构之链表链表基础知识: 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序通过链表中的指针链接次序来实现。其内部是由一系列的数据节点组成,数据节点可以动态分配。 链表与数组的比较: 数组可以随机存取,链表只能顺序存取。链表容量可以动态扩充数组不可以,链表添加数据元素,不需要数据的移动。数组添加元素需要移动数据元素。...
2019-03-30 11:44:16
143
原创 Redis简单动态字符串SDS
Redis简单动态字符串SDS 源码版本:REDIS 5.0.4 redis没有直接使用C语言当中以’\0’的结尾的字符串,而是实现了自己字符串结构简单动态字符串(simple dynamic string,SDS),同时SDS又保留了字符串当中的‘\0’兼容C语言字符串SDS结构体类似如下:struct__attribute__((__pac...
2019-03-23 15:45:05
207
转载 C语言部分字符串处理函数
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c
2016-05-03 10:40:27
732
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人