記得 2006 年 chroot/Hacks in Taiwan Conference 的發起人 timshu 曾經出版過一書 《Linux C函式庫詳解辭典》,這本書含括了超過 400 個函式,成為許多 Linux 軟體開發者的參考手邊書。

雖然 Linux/Unix 系統上有相當多的參考文件,只要你知道該問什麼問題,都可以找到答案。但是線上手冊 (man pages, info)常缺乏系統式的整理,新手頗難入手。且 man pages 有時言簡意賅,缺乏範例程式,往往不容易閱讀。因此像是《Linux C函式庫詳解辭典》便極有參考價值。

類似的系統 API 書籍還有 Robert LoveLinux System Programming: Talking Directly to the Kernel and C Library。rlove 的書對於各系統層廣度足夠,可惜深度不足,書中充滿提示,你得有足夠的背景知識纔全然理解他所要傳達的資訊,而具體的實務應用資訊也不足,無法用來當作字典臨時查詢需要的 API 與範例。

2010 年十月,Michael Kerrisk 發表了 TLPI – The Linux Programming Interface,Michael Kerrisk 是 Linux man-pages Project 的維護者,文件維護者出書其份量與內容勢必可觀,TLPI 內容超過 1500 頁、超過 60 個章節、超過 200 個範例,內容除了含括 POSIX.1-2001/SUSv3POSIX.1-2008/SUSv4 外,也包含了許多 Linux 獨有的特色,對於跨 UNIX 作業系統移植性亦有著墨,相對於 Richard Stevens 與 Stephen A. Rago 的 Advanced Programming in the UNIX Environment ,圖表與內容均不遜色,且每個章節都至少有一題練習題。

值得一提的是,TLPI 除了介紹 system calls 外,文中也試著說明 2.4.x. 到 2.6.x (2.6.34) 間核心變動對於系統的影響。

推薦 Linux 軟體開發者備妥一本作為案頭書。

  • Reborn2266

    TLPI真是一本好書!!每個章節長度適中,觀念到位。講解不同系統實作的差異時也恰到好處,對於差異很多樣的,常常一句話就帶過,反正注重可攜性就不要這樣作,不需要可攜性就要在該系統上實驗一下就是了~