自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (7)
  • 收藏
  • 关注

原创 Redis源码sds学习四-sdscpy和sdsdup

Redis源码sds学习四-sdscpy和sdsdup在sds动态字符串学习二中,学习了sdscat函数,该函数是字符串拼接函数,C语言中是strcat函数是字符串拼接函数。字符串操作中很多函数,其中在C语言中,还有个常用的字符串拷贝strcpy函数,今天来学习一下redis sds中对应的字符串拷贝函数:sdscpy和sdsdup。题外话:学习了几个redis sds字符串操作函数,而C语言中字符串操作函数命名一般为 str*,sds中命名一般为 sds*,*部分对应是一样的,不知道后续其它动态字符

2021-08-05 16:24:42 122

原创 Redis源码sds学习三

Redis sds动态字符串学习三GDB调试sdscat结构体指针变化问题在sds动态字符串学习之二那篇文章中,讲到了 sdscat 函数及内部内存重分配等 zremalloc 相关函数,在后来的gdb调试过程中,遇到奇怪的问题,在gdb调试到 sdsMakeRoomFor 函数中时,sds sdsMakeRoomFor(sds s, size_t addlen) { struct sdshdr *sh, *newsh; size_t free = sdsavail(s);

2021-07-21 13:55:31 75

原创 Redis源码zmalloc内存管理(2)

zmalloc内存管理(2)(Redis源码学习)1. 背景介绍在上一篇zmalloc内存管理(1)中留了一个问题,在 zmalloc 函数中用出现了条件编译,涉及到是否定义 HAVE_MALLOC_SIZE:#ifdef HAVE_MALLOC_SIZE update_zmalloc_stat_alloc(zmalloc_size(ptr)); return ptr;#else *((size_t*)ptr) = size; update_zmalloc_stat_

2021-07-20 15:52:45 107

原创 zmalloc内存管理(1)(Redis源码学习)

zmalloc内存管理(1)(Redis源码学习)在学习sds.c源码时,sdsnewlen函数中开始调用zmalloc相关库函数:sds sdsnewlen(const void *init, size_t initlen) { ... //省略部分代码 // 根据是否有初始化内容,选择适当的内存分配方式 // T = O(N) if (init) { // zmalloc 不初始化所分配的内存 sh = zmalloc(sizeof(

2021-07-08 16:40:05 275

原创 组建Redis sentinel问题`GLIBC_2.14’ not found和ps -ef 的uid为数字问题

RHEL6.9组建Redis sentinel集群遇到两个问题今天在组件Redis sentinel 集群时,遇到两个问题,之前已经组建多次,都没碰到类似问题,在解决这两个问题时,耗费些时间。问题1. ./redis-server: /lib64/libc.so.6: version `GLIBC_2.14’ not found 问题在将A服务器 RHEL6.9 上已经编译好的 Redis-3.0.3 整个目录,scp 到 RHEL6.9 服务器B上,在 A 上能正常运行的redis-server程

2021-07-03 08:47:44 178

原创 柔性数组(Redis源码学习)

柔性数组(Redis源码学习)1. 问题背景在阅读Redis源码中的字符串有如下结构,在sizeof(struct sdshdr)得到结果为8,在后续内存申请和计算中也用到。其实在工作中有遇到过这种 struct结构 + 应用数据的情况,但没有意识到自己使用的是柔性数组,在学习阅读Redis代码中,遇到该方法,就特总结记录之。/* * 类型别名,用于指向 sdshdr 的 buf 属性 */typedef char * sds;/* * 保存字符串对象的结构 */struct sdshdr {

2021-07-01 08:42:39 80

原创 __sync_fetch_and_add函数(Redis源码学习)

__sync_fetch_and_add函数(Redis源码学习)在学习redis-3.0源码中的sds文件时,看到里面有如下的C代码,之前从未接触过,所以为了全面学习redis源码,追根溯源,学习一下__sync_fetch_and_add的系列函数:#define update_zmalloc_stat_add(__n) __sync_add_and_fetch(&used_memory, (__n))在网上查找相关 __sync_add_and_fetch 函数的知识点,基本都是一样的

2021-06-28 16:09:42 317

原创 Lua __index __newindex元表方法学习

在学习Lua语言的元表和元方法章节中,各种网上收例子,便于理解学习。看到一篇很好的博客,讲到了 lua 的 rawset,rawget,index,newindex的使用,具体博客见下面链接:作者:@qingqing-zhao本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/archive/2018/11/28/10032249.h...

2020-04-29 14:36:51 311 1

原创 Cmake Practice学习遇到问题

在学习网上流行的Cmake实践即Cmake Practice文档时,自己按照文档都验证了其中的例子和程序,但在最后一章遇到问题并更正记录如下:九,复杂的例子:模块的使用和自定义模块二,编写属于自己的 FindHello 模块。1,定义 cmake/FindHELLO.cmake 模块FIND_PATH(HELLO_INCLUDE_DIR hello.h /usr/include/he...

2020-01-08 15:21:59 123

原创 2.Add Two Numbers

Add Two NumbersCategory Difficulty Likes Dislikesalgorithms Medium (31.66%) 5950 1551TagsCompaniesYou are given two non-empty linked lists representing two non-negative integers. The digits are s...

2019-09-18 14:55:35 78

原创 1.Two Sum

Two SumCategory Difficulty Likes Dislikesalgorithms Easy (43.81%) 10587 350TagsCompaniesGiven an array of integers, return indices of the two numbers such that they add up to a specific target.Y...

2019-09-18 14:53:17 84

原创 cmake关于自定义gcc安装路径报错问题

linux服务器自定义安装gcc4.8.2为支持学习C++11,使用到cmake时总是报错如下:-- The C compiler identification is unknown-- The CXX compiler identification is GNU 4.8.2-- Check for working C compiler: /home/**/gcc11/gcc-4.8.2/...

2019-08-28 14:43:14 4213 2

原创 统计日志—gmtime和localtime

在统计日志中,涉及到时间,天数的对比时,gmtime 时间是东八区的时间,也就是在日志中,统计一天的结果时,则日志输出会在早上8点才会打印出统计信息,中国位于东八区而 localtime 才是真正的本地时间,会在凌晨0点左右就输出日志,统计前一天的相关信息,注意,函数别用错了。还有个函数 localtime_r,和localtime不同,可以查查。...

2019-08-17 18:25:44 166

原创 csdn 博客markdown使用方法

统计日志—gmtime和localtime在统计日志中,涉及到时间,天数的对比时,gmtime 时间是东八区的时间,也就是在日志中,统计一天的结果时,则日志输出会在早上8点才会打印出统计信息,中国位于东八区而 localtime 才是真正的本地时间,会在凌晨0点左右就输出日志,统计前一天的相关信息,注意,函数别用错了。还有个函数 localtime_r,和localtime不同,可以查查...

2019-08-17 18:21:52 128

原创 380. Insert Delete GetRandom O(1)

Design a data structure that supports all following operations in average O(1) time. insert(val): Inserts an item val to the set if not already present. remove(val): Removes an item val from the ...

2019-01-31 07:17:09 89

Python3.4 入门指南kindle电子书

Python 入门指南 ( The Python Tutorial ) Python 入门指南是由Python官方发布的一份教程。他也被麻省理工学院所使用。有Python 2.7以及Python 3.0的版本提供。

2015-09-06

Python3.4入门指南(官方文档)kindle 电子书

Python3.4 的入门指南,官方文档。 Python 入门指南 ( The Python Tutorial ) Python 入门指南是由Python官方发布的一份教程。他也被麻省理工学院所使用。有Python 2.7以及Python 3.0的版本提供。

2015-09-06

Gun_make_version3.8_2004

高清 可编辑 Gun make version3.8 2004

2012-08-20

GUN make 3.8版本

高清版 可编辑 make 3.8 2004 Linux 徐海兵

2012-08-20

hspice仿真应用

高等教育资源,进行电路的模拟和数据分析,主要针对模拟电路的

2010-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除