通常咱们都知道用man手册去查看libc库的API的用法,例如man ubuntu
strcpy、man stat ...其实内核里的一些API也能够编译到man手册中,函数
这样对于学习内核的,也无疑是一种很好的资料。
----------------------------------------------------------------------------------
1,编译内核API到man手册。下载一个内核版本,而后在顶层目录执行以下学习
命令:make installmandocs 执行该命令,人家会提示你缺乏一个依赖xmlto,this
接下来就安装依赖,ubuntu下面:sudo apt-get install xmlto 把依赖安spa
装好了而后再次执行上次的命令。make installmandocs。
----------------------------------------------------------------------------------
2,上面的命令执行完后,将会把一些内核API的信息安装到 /usr/localorm
/man/man9下面。那目录下就有内核API的查阅信息。内核的哪些函数可xml
以查获得,能够先到那个目录下去看。
----------------------------------------------------------------------------------
3,实例:(man copy_to_user)
get
COPY_TO_USER(9) Memory Management in Linux COPY_TO_USER(9)
源码
NAME
it
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,相对于看源码,这仍是方便点。---------------------------------------------------------------