[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Linux Manual Pages 与 glibc texinfo, 哪个是权威?



我来试着谈谈我的看法:
首先从`man man`中可以看到:
       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions eg /etc/passwd
       6   Games
       7   Miscellaneous  (including  macro  packages  and  conventions), e.g.
           man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]

可见man2讲的是kernel提供的系统调用,man3讲的是库函数,这两个是有一点点区别的。应用程序一般不会去直接调用系统调用,应用程序调用libc,libc再调用kernel提供的系统调用。库函数一般和系统调用一一对应,但也有例外,比如exec在libc库中有数个函数,但对应系统调用仅有一个。再比如printf没有一个直接对应的系统调用,当然它最终要通过调用write来实现功能。

下面再看看man2是哪个软件包提供的:
zhi@zhi-laptop:/usr/share/man/man2$ dpkg -S /usr/share/man/man2
manpages-dev, libapparmor1, manpages: /usr/share/man/man2

可见manpages提供了那些man2文件,再看manpages:
zhi@zhi-laptop:~$ apt-cache showsrc manpages
Package: manpages
Binary: manpages, manpages-dev
...
Homepage: http://www.kernel.org/doc/man-pages/
...

可见man2文件实际是由kernel开发组织提供的。

至于man3,那可就多了:
zhi@zhi-laptop:/usr/share/man/man2$ dpkg -S /usr/share/man/man3
libpackage-stash-xs-perl, libpango-perl, libxml-parser-perl,
libxml-libxml-perl, libuuid-perl, libpcre3, libclass-isa-perl,
librdf0, libwww-robotrules-perl, libhttp-daemon-perl,
libyaml-tiny-perl, iproute, libdpkg-perl, libssl-doc,...

结论是:1. 不矛盾,一个讲的是系统调用,一个讲的是库函数;2. man2主要是kernel提供的,man3是由各个库的开发组织提供的,与kernel无关。


李志

2012/8/15 YunQiang Su <wzssyqa@gmail.com>:
> man2 来自内核, man3 来自libc
>
> 2012/8/15 Plain_Text <resation@gmail.com>:
>>
>>
>> 2012-08-15(Wednesday) 14:26:49 +0800, wd <wd@wdicc.com>:
>>
>>
>>> 建议你有功夫发这种帖子,不如花时间两个文档都看看,看看是不是真的有区别,区别在什么地方,有错误就报告给社区。
>>
>>
>>
>>   张三与李四是两个技术牛人,对某项技术各自写了一本书。一个小菜鸟想学习
>> 该技术,但是时间和精力都有限,于是想从两个牛人的书中挑选出一本来做参考。
>> 小菜鸟想:“如何两个牛人联合起来共同写一本书,该多好呀!这样,我就不用在
>> 两者之间犹豫该选哪一本了。”可是,他知道这没有可能性:因为两个牛人有些矛
>> 盾,不愿意共同写书。于是该小菜鸟向其他人请教,问问其他人:“两个牛人的书,
>> 哪本更权威?”
>>
>>   不过,小菜鸟没有得到正面的回复。只听见:“建议你有功夫问这种问题,不
>> 如花时间两本书都看看……”
>>
>>
>>   本来只想请教一下,没想到变成了 Flame War. 抱歉。
>>
>>
>>
>>
>>
>> --
>> To UNSUBSCRIBE, email to debian-chinese-gb-REQUEST@lists.debian.org
>> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>> Archive: http://lists.debian.org/20120815072124.GB3672@localhost.localdomain
>>
>
>
>
> --
> YunQiang Su

Reply to: