摘要: 下载:https://bochs.sourceforge.io/ 建议下载2.6.11,下文一开始安装的2.7,但运行时有无法解决的错误。但是大致安装过程一致。 linux 提前安装依赖 sudo apt-get install build-essential sudo apt-get instal 阅读全文
posted @ 2021-09-30 21:24 OasisYang 阅读(3882) 评论(2) 推荐(3) 编辑
摘要: 实验环境配置 VirtualBox虚拟机为载体,安装Ubuntu $ uname -a Linux eliot-VirtualBox 5.11.0-36-generic #40~20.04.1-Ubuntu SMP Sat Sep 18 02:14:19 UTC 2021 x86_64 x86_64 阅读全文
posted @ 2021-09-30 10:38 OasisYang 阅读(361) 评论(0) 推荐(0) 编辑
摘要: callback 回调函数 什么是callback function 如图(来自维基百科),回调函数提供了一种服务,可以由用户决定使用怎么样的服务(登记回调函数)。回调函数机制,提供了很大的灵活性,可以将库函数视为中间函数,借用回调函数完成个性化的服务。本文下面的内容会使用到ccan中的一个安全回调 阅读全文
posted @ 2021-02-20 21:31 OasisYang 阅读(102) 评论(0) 推荐(0) 编辑
摘要: Redis源码系列——双链表 redis底层的数据结构使用了双链表,其实现很简洁,值得阅读。 原型 src/adlist.h /*list node*/ typedef struct listNode{ struct listNode *prev; struct listNode *next; /* 阅读全文
posted @ 2021-01-19 17:38 OasisYang 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Redis源码系列——内存管理 函数原型 src/zmalloc.h 函数指针与void*指针的使用,提供了一个泛型的机制 /*stringfication*/ #define __xstr(s) __str(s) #define __str(s) #s /*prototypes*/ void *z 阅读全文
posted @ 2021-01-19 10:50 OasisYang 阅读(913) 评论(0) 推荐(0) 编辑
摘要: qsort使用 近期频繁使用qsort函数,但是对于cmp函数却一直不太熟悉,现用现查。故写一篇小笔记记录一下。 函数原型: void qsort(void *base,size_t NumEle,size_t SizeEle,int (cmp*)(const void *a,const void 阅读全文
posted @ 2020-11-30 11:42 OasisYang 阅读(829) 评论(0) 推荐(1) 编辑
摘要: IEEE浮点数标准 阅读笔记:Computer System : A Programmmer's Perspective 基本概念 IEEE浮点数标准采用 \[ V=(-1)^s\times M\times2^E \] 的形式表示一个数: 符号:s决定数的正负 尾数:M是一个二进制小数,范围是12- 阅读全文
posted @ 2020-10-09 21:16 OasisYang 阅读(1142) 评论(0) 推荐(0) 编辑
摘要: 首先,回顾一下基础的宏操作: C语言宏 #与## #的作用是字符串化:在一个宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组 #define ERROR_LOG(info) fprintf(stderr,"error:"#info"\n"); 则有: ERROR_LOG("add") 阅读全文
posted @ 2020-07-24 22:16 OasisYang 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 指针的运算 当两个指针p1, p2相减时,p2-p1就是从p1到 p2,不包含p2的元素个数,结果的类型是ptrdiff_t #include <stdio.h> int main() { int a[10] = {1,2,3,4,5,6,7,8,9,0}; int sub; int *p1 = & 阅读全文
posted @ 2020-07-01 12:12 OasisYang 阅读(481) 评论(0) 推荐(2) 编辑
摘要: 位运算的一般应用 功能 例子 运算 去掉最后一位 1110101->111010 x>>1 在最后加0 1110101->11101010 x<<1 在最后加1 1110101->11101011 x<<1+1 最后一位变成1 111010->111011 x|1 最后一位变成0 111011->1 阅读全文
posted @ 2020-07-01 12:10 OasisYang 阅读(392) 评论(0) 推荐(0) 编辑