因此,我正在努力从头开始重新编写所有gnu coreutils(和其他一些),作为改进我的C编码和一般Unix / Linux编码的教育练习。显然我在使用glibc的同时也是如此。
我知道这里提供的在线glibc文档:http://www.gnu.org/software/libc/manual/
但是,我发现gnu文档对初学者来说相当困难。首先,它们相当简洁,并没有多少示例,甚至没有理由说明为什么你可能想要使用一种功能而不是另一种功能。另一个问题是它们不容易搜索。
我也知道man-pages(3),我通常更喜欢这些gnu文档,但是,很多时候我不知道我正在寻找的函数的名称,它似乎也似乎手册页中没有记录许多功能,至少在我的系统中没有记录。
我想知道是否有人知道关于glibc的一些文档可能更容易让初学者消化。理想情况下,它将以HTML或PDF形式在线,但如果我正在寻找的话,我也愿意购买一本死树书。一个既完整又有大量示例的来源将是完美的。
我在UNIX环境中拥有高级编程,并且使用它相当多,但它不是特定于glibc,并且通常对我的能力和理解水平来说有点过于先进。
感谢您的想法和建议......
答案 0 :(得分:1)
嗯,作为一个初学者,你可能更好地阅读源代码,特别是那些以文本操作为中心的代码(例如:wc,cat等),因为他们的代码往往是初学者友好的,通常是逻辑上的,而不是从性能和架构的角度来看(认为这样的情况确实存在,例如标准的strlen函数)
现在,要阅读源代码,并且由于所有gnu代码都可以自由访问,您可以从ftp.gnu.org获取代码..(对于coreutils,这是gnu / coreutils,用于strlen和glibc函数,它将是gnu / glibc / glibc-2.20.tar.xz)..
如果您正在寻找一本书,那么The Standard C Library, P.J Plauger将是一个盲目的选择。这本书写于1992年,但它仍然是任何想要了解C标准库的人的权威资源,包括:使用&实现。它包含C89标准库的完整源代码,因此它很简单,并不关心64位架构开销(当时这是非常新的)。