摘要: stddef.h头文件看意思就是标准定义,定义有一些变量和宏。其中定义了NULL和offsetof()宏,NULL指向0或者是无效指针,offsetof获取一个元素在结构中的偏移量。下面看看具体的代码注释和笔记。#ifndef _LINUX_STDDEF_H#define _LINU... 阅读全文
posted @ 2015-04-09 17:48 陈洪波 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 直接上代码就可以了,所以的学习都在注释当中呢!#ifndef __LINUX_COMPILER_H#define __LINUX_COMPILER_H#ifndef __ASSEMBLY__//如果宏定义了__CHECKER__//详细学习一个Sparse#ifdef __CHECK... 阅读全文
posted @ 2015-04-09 17:12 陈洪波 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 本文例子均在 Linux(g++)下验证通过,CPU 为 X86-64 处理器架构。所有罗列的 Linux 内核代码也均在(或只在)X86-64 下有效。本文首先通过范例(以及内核代码)来解释 Memory barrier,然后介绍一个利用 Memory barrier 实现的无锁环... 阅读全文
posted @ 2015-04-09 16:07 陈洪波 阅读(171) 评论(0) 推荐(0) 编辑
摘要: intel 8086是16位的CPU,有着16位的寄存器,16位的数据总线和20位的地址总线。但由于其寄存器和数据总线都是16位,仅仅具有64kb的寻址能力,所以采用段+偏移的方式得到20位的即1M的寻址能力。则其计算公式为: 物理地址 = 段值 * 16 + 偏移。 ... 阅读全文
posted @ 2015-04-09 15:07 陈洪波 阅读(218) 评论(0) 推荐(0) 编辑