• Linux 中的 EOF 到底是什么?

    EOF 的定义 EOF 是 end of file 的缩写,表示”文字流”(stream)的结尾。这里的”文字流”,可以是文件(file),也可以是标准输入(stdin)。 以前在学习 C 语言文件操作的时候,一直记得 EOF 就是一个标记,通过它可以判断程序是否读取到文件的末尾了,例如下面的这段代码就是将一个文本文件中的字符输出到标准输出中,并通过 EOF 来判断程序是否读到了文件末尾: #include <stdio.h> #define FILENAME "gdb_test.c"...


  • Android NDK Tombstone/Crash 分析

    前言 作为程序员,调试 Bug 永远是最痛苦的一件事情,而在所有的 Bug当中访问非法内存又是最最让人崩溃和最难发现的一个问题。 通常我们调试程序 Bug 的方法主要有下面 3 种: 打印日志信息 这种方法通过在代码中可能出现 Bug 的位置添加一些日志输出语句来跟踪整个程序的执行过程或者查看关键变量的值等等。 单步调试 这个方法则主要使用到了调试工具,例如 gdb 和 Visual Studio...


  • 书单

    在读       已读       想读 文学类       IT 技术类       心理类  ...


  • 每个计算机专业学生必须知道的事

    本文转载自What every computer science major should know Preface Given the expansive growth in the field, it’s become challenging to discern...


  • Linux 内核源码中的 container_of 宏和 offsetof 宏分析

    1. 前言 今天在看 Linux 内核源码中有关链表数据结构时,遇到到 container 宏和 offsetof 宏,然后跳转到其定义处,发觉它的定义的形式好陌生并难以理解,所以就作此笔记记录一下。 2. offsetof 宏 2.1 宏的功能 offsetof 宏的功能就是获得结构体变量中的指定成员变量相对于结构体变量起始地址的偏移量。 2.2 宏的定义 offsetof 宏的定义如下所示:...