随笔分类 -  kernel内核

学习kernel内核,kernel.h里面定义很多高质量的宏,我把对宏的学习笔记全部放到这里了。include/linux/kernel.h
摘要:1、执着cscope.files文件,对源码目前全文件搜索 find `pwd` -type f > cscope.files `pwd`生成当前目录的绝对路径,这样在cs命令里面就可以不用写那个pre-path了 2、对一些返回数量过多的函数,可以搜索它的隐藏函数 比如:weak_alias这个宏 阅读全文
posted @ 2018-02-16 16:44 立体风 阅读(231) 评论(0) 推荐(0)
摘要:最近下载了kernel的最新源码4.15版,但下载后的linux内核不仅包含了x86架构的函数还包含了如:arm、powerPC等等其他架构的函数,如果直接生成tags文件,将来查找时,多种架构的同名函数会混淆在一起,很不方便。好在,贴心的linux内核组给准备了tags.sh文件,可以自动生成相应 阅读全文
posted @ 2018-02-14 18:10 立体风 阅读(790) 评论(0) 推荐(0)
摘要:Cscope具有纯正的Unix血统,它最早是由贝尔实验室为PDP-11计算机开发的,后来成为商用的AT&T Unix发行版的组成部分。直到2000年4月,这个工具才由SCO公司以BSD license开源发行。 Cscope的主页在http://cscope.sourceforge.net/,如果你 阅读全文
posted @ 2018-02-14 15:32 立体风 阅读(10650) 评论(0) 推荐(0)
摘要:1、ctags -R 有个问题,成员变量没有包含在里面。所以自动完成对象的成员时没有提示。解决办法:$ctags -R --fields=+iaS --extra=+q *–fields=[+|-]flags–fields指定tags的可用扩展域(extension fields),以包含到tags 阅读全文
posted @ 2017-11-21 14:41 立体风 阅读(1279) 评论(0) 推荐(0)
摘要:1、安装: 2、生成tags文件: 3、在vim中设置tags的绝对目录,这样就可以在任何子目录使用了。 4、使用:将光标移动到名称上按 ctrl+] 进入定义该名称的地方。跳回使用: ctrl+t 5、查看当前文件路径及名称:在vim中按 :f 或者 ctrl+g 阅读全文
posted @ 2017-11-21 12:24 立体风 阅读(273) 评论(0) 推荐(0)
摘要:位置:include/linux/kernel.h 定义: 作用:结果看下面,作用未知,好像是为了一个叫:word_at_a_time的宏,哎。 重点1:什么是0UL UL是c语言中的常量后缀,用于整型常量。字母U代表unsigned,字母L代表Long,0UL表示这个整型常量0的类型为无符号长整型 阅读全文
posted @ 2017-10-25 15:50 立体风 阅读(675) 评论(0) 推荐(0)
摘要:有时候内核代码因为各种原因,发生改变,如何查找更新理由? 1、首先git内核全部代码,不能用下载的压缩包,git可以包含全部信息。 2、查看下载的内核版本? 3、比如:我想查看 include/linux/kernel.h内的min3()函数是何时更改的? 4、首先:用grep命令,查看min3的行 阅读全文
posted @ 2017-10-19 17:56 立体风 阅读(344) 评论(0) 推荐(0)
摘要:1、先上实现代码: __UNIQUE_ID(min1_)含义是制造一个唯一的标识符:__UNIQUE_ID_min1_0 __UNIQUE_ID(min2_)含义是制造一个唯一的标识符:__UNIQUE_ID_min2_1 2、为什么把x,y赋值给_min1和_min2然后返回_min1和_min2 阅读全文
posted @ 2017-10-19 12:16 立体风 阅读(727) 评论(0) 推荐(0)