將內核API編譯爲man手冊

 通常咱們都知道用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

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




  2. NAME
    it

  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,相對於看源碼,這仍是方便點。---------------------------------------------------------------

相關文章
相關標籤/搜索