假如您沒有應用程序的源代碼并且由于 C 的 GNU 庫(glibc)函數正將某些錯誤信息返回給該應用程序而使它失敗,那么您該怎么辦? 因為 glibc 是開放源碼,所以您當然可以獲得其源代碼、對它進行更改、重新構建和安裝。 然而,這不適合那些膽怯的人,因為雖然 API 有很好的文檔說明,但 GNU C 庫的內部組織卻沒有。 查找正確的函數原型只是眾多挑戰中的第一個。 它還是一個很大的包,所以第一次編譯時,它將花一些時間(glibc 2.2.2 有 8552 個文件和 1775440 行代碼,包括注釋)。
結束語 編寫 GNU C 庫函數的專用版本是調試系統問題或進行快速修正的好方法。 使用 LD_PRELOAD shell 變量,可以選擇性地用您自己的專用版本來覆蓋系 統 C 庫函數。這種技術可用于 linux 和 Solaris 環境。 關于作者 Jay Allen 是 IBM linux for Service Providers Lab(LSPL)的程序員??梢酝ㄟ^ jaydallen@us.ibm.com 與 Jay 聯系。