一般我们都知道用man手册去查看libc库的API的用法,例如man
strcpy、man stat ...其实内核里的一些API也可以编译到man手册中,
这样对于学习内核的,也无疑是一种很好的资料。
----------------------------------------------------------------------------------
1,编译内核API到man手册。下载一个内核版本,然后在顶层目录执行如下
命令:make installmandocs 执行该命令,人家会提示你缺少一个依赖xmlto,
接下来就安装依赖,ubuntu下面:sudo apt-get install xmlto 把依赖安
装好了然后再次执行上次的命令。make installmandocs。
----------------------------------------------------------------------------------
2,上面的命令执行完后,将会把一些内核API的信息安装到 /usr/local
/man/man9下面。那目录下就有内核API的查阅信息。内核的哪些函数可
以查得到,可以先到那个目录下去看。
----------------------------------------------------------------------------------
3,实例:(man copy_to_user)
COPY_TO_USER(9) Memory Management in Linux COPY_TO_USER(9)
NAME
copy_to_user - Copy a block of data into user space.
SYNOPSIS
unsigned long copy_to_user(void __user * to, const void * from, unsigned long n);
ARGUMENTS
to
Destination address, in user space.
from
Source address, in kernel space.
n
Number of bytes to copy.
CONTEXT
User context only. This function may sleep.
DESCRIPTION
Copy data from kernel space to user space.
Returns number of bytes that could not be copied. On success, this will be zero.
COPYRIGHT
Kernel Hackers Manual 2.6. August 2012 COPY_TO_USER(9)
---------------------------------------------------------------------------------------
4,个人感觉。
缺点:1,显示的API信息比较“简陋”,没有像libc的解释那么详细。
2,有些内核API查不到,还需去查源码。
优点:1,很权威。我觉得这些东西很可能是这些函数的作者编写的解释。
2,相对于看源码,这还是方便点。
---------------------------------------------------------------