Redis-sds源码剖析第一天
来源:互联网 发布:明底线知敬畏演讲稿 编辑:程序博客网 时间:2024/05/04 14:37
/* * 类型别名,用于指向 sdshdr 的 buf 属性 */typedef char *sds;/* * 保存字符串对象的结构 */struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 int free; // 数据空间;使用柔性数组;sizeof(sdshdr)时是8个字节; char buf[];};/* * 返回 sds 实际保存的字符串的长度 * * T = O(1) */static inline size_t sdslen(const sds s) { //s-(sizeof(struct sdshdr)作用是返回到sdshdr结构体的起始地址; /*(void*)作为通过用指针,可以和其他类型指针相互交换; c中式隐式转换;而c++中要求显示转换; 但此处为什么用void* 而不直接用struct sdshdr *?????*/ struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr))); return sh->len;}
读到256行
原来条件编译也可以放在函数中使用; 另外redis源码的简洁规范十分值得学习;里面的编程思想更值得自己慢慢专研。
0 0
- Redis-sds源码剖析第一天
- redis 源码剖析 1 sds
- Redis源码剖析--动态字符串SDS
- Redis源码剖析--简单动态字符串sds
- Redis源码剖析--简单动态字符串sds
- 【Redis源码剖析】 - Redis内置数据结构之字符串sds
- 【redis源码剖析】 redis内置数据类型之字符串sds
- 唯快不破:redis源码剖析04-sds动态字符串
- redis 源码笔记--sds
- Redis源码解析【SDS】
- redis源码分析-sds字符串
- Redis源码分析(sds)
- 【redis源码分析】动态字符串--sds
- redis源码分析(3)sds
- Redis源码-数据结构之sds字符串
- Redis源码分析(四)-- sds字符串
- Redis源码分析——SDS
- redis源码学习-sds字符串结构
- C++中的继承
- Android开发指南--0 总览
- poj3258 二分(连续区间求和)
- U3D自定义滑动面板ViewPager
- 自制的通讯录APP(SQLite的应用)
- Redis-sds源码剖析第一天
- android studio无法设置java jdk
- 黑马程序员——基本数据类型总结
- Saiku 二次开发效果的演示视频
- UISlider
- UDP 编程中的sendto() 与recvfrom()解析(转)
- 数据库分词查询的优缺点以及英文和中文各自的分词方法(二)
- MySQL添加用户、删除用户与授权
- 自定义控件----方向盘的基本实现