将内核API编译为man手册

1520阅读 0评论2013-12-31 樊聪5201314
分类:LINUX

      一般我们都知道用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)

  1. COPY_TO_USER(9) Memory Management in Linux COPY_TO_USER(9)



  2. NAME
  3.        copy_to_user - Copy a block of data into user space.

  4. SYNOPSIS
  5.        unsigned long copy_to_user(void __user * to, const void * from, unsigned long n);

  6. ARGUMENTS
  7.        to
  8.            Destination address, in user space.

  9.        from
  10.            Source address, in kernel space.

  11.        n
  12.            Number of bytes to copy.

  13. CONTEXT
  14.        User context only. This function may sleep.

  15. DESCRIPTION
  16.        Copy data from kernel space to user space.

  17.        Returns number of bytes that could not be copied. On success, this will be zero.

  18. COPYRIGHT
  19. Kernel Hackers Manual 2.6. August 2012 COPY_TO_USER(9)
---------------------------------------------------------------------------------------
4,个人感觉。
    缺点:1,显示的API信息比较“简陋”,没有像libc的解释那么详细。
          2,有些内核API查不到,还需去查源码。
    优点:1,很权威。我觉得这些东西很可能是这些函数的作者编写的解释。
          2,相对于看源码,这还是方便点。

----------------------------------------------------------------------------------------



上一篇:bmp缩放代码
下一篇:检测IP地址是否冲突的C语言程序