傲娇龙猫

文章
7
资源
0
加入时间
4年0月9天

__user && address_space(1)

所有的内核代码,基本都包含了linux/compile.h这个文件,所以它是基础,打算先分析这个文件里的代码看看,有空再分析分析其它的代码。首先印入眼帘的是对__ASSEMBLY__这个宏的判断,这个变量实际是在编译汇编代码的时候,由编译器使用-D这样的参数加进去的,AFLAGS这个变量也定义了这个变量,gcc会把这个宏定义为1。用在这里,是因为汇编代码里,不会用到类似于__user这样的属性(关于__user这样的属性是怎么回子事,本文后面会提到),因为这样的属性是在定义函数的时候加的,这样避