2011-05-05 69 views
0

realpath在我的Linux機器的人網頁顯示:如何核心glibc和「libc」版本?

VERSIONS 
     On Linux this function appeared in libc 4.5.21. 

現在是什麼意思?它指的是哪個libc - 「Linux libc」? - 我在哪裏可以找到匹配不同libc風格的列表,以便我能夠看到鏈接到此函數和其他函數的最低要求是什麼?

GLIBC是2.13版本,這是比4.5.21相當低,但對glibc的維基百科頁面稱:

在90年代初,中 Linux內核分叉glibc的開發者。他們 叉,被稱爲 「Linux的libc中」,被 年分別保持和 發佈的版本2至5

...和

的Linux的libc 最後使用的版本中使用內部名稱(soname) libc.so.5。根據這一點,在Linux上 的glibc 2.x中使用的soname libc.so.6的

這是否意味着任何glibc的相當於一個「Linux的libc的」與主要版本高於5?

還有其他手冊頁引用這個或那個版本的「libc」,所以realpath只是一個問題的例子。

注意:我正在構建的代碼不限於Linux,這就是爲什麼我需要一個確定的方法來檢測某個函數是否可用。

回答

2

儘管在版本2.x中,glibc多年來被稱爲「libc6」,以與舊的libc3/4/5的版本控制方案兼容。無論如何,Linux系統上的手冊頁都非常有幫助,但不一定是規範的。 glibc使用「info」系統而不是手冊頁,因此對於glibc函數,您可能比手冊頁更好看glibc manual。雖然實際路徑函數上的bug類別在歷史背景下很有趣,但除非您針對的是libc5系統(這肯定不是)並不是特別有用。

+0

感謝您的建議。不過,也許有人知道匹配版本的來源。 – 0xC0000022L 2011-05-06 22:13:06