《Linux内核完全剖析》读书笔记(一):前言


起步

在读过Linux之父林纳斯自传的 《只是为了好玩》 ,他花半年时间完成 linux0.01 版本,那时候代码量只有 1 万行,而到 1.0 版本时候也才有 17 万行。这就让我萌生出阅读 linux 源码的兴趣了。

网上找了三本关于 linux 的设计和分析的书。其中我决定先阅读 《Linux内核完全注释》。这本书基于 0.12 的内核版本,代码量不算多,而且书中几乎所有代码都进行注解,是一本了解 linux 操作系统内核的入门读物。


intptr_t 是比 void * 更好的选择吗


intptr_t 是何方神圣

相信大多数程序员对 intptr_t 比较陌生的,也不要认为是 int 类型的指针。其实这个和 int 没什么关系,也不知道定标准的人是怎么想的= =

intptr_t 是C语言标准委员会 C99 标准中新加的类型, 它占用的空间始终与平台上地址位数相同,因此用来存放地址。


接口中如何定义空数据


提出问题

前后端常用的 json 格式进行传输,那么怎样来表示空数据呢?空字符串返回 null 还是 "" ,数字返回 null 还是 0 ,列表呢?

这种需要前后端协商一致,一百个项目会有一百个规范,也没有人教你怎样定义更合理,都是通过经验,协商磨合和妥协中产生的。我这边说说按我的经验空数据的定义方式。