在jemalloc内存管理器上读取hacker article时,黑客总是引用malloc(3),而不是malloc。我想知道为什么。
他这样做是因为它引用了特定的linux malloc实现吗?或者只是简单地引用所有的malloc变体,它们实现了unix/linux手册页的section 3 (libary functions)中描述的接口?这个选项是我的猜测,我想确认一下。还有其他原因吗?
那么,黑客是不是太具体了?还是malloc和malloc(3)之间有区别?
第(3)部分不是对黑客文章后面提到的其他文档、文章或研究的引用。
发布于 2012-07-12 04:24:23
malloc(3)只是一个提示,说明malloc是手册页第3部分的一部分。第3部分是库函数的位置。这是通过反对手册页的第2节中的syscall。没有malloc(2)。
例如:
fwrite是一个库函数,因此有时会编写为fwrite(3)
write是一个系统调用,所以有时写成write(2)
如果您运行以下命令:
$ 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 convenâ
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]发布于 2012-07-12 04:26:08
前言:我的unix很弱。
我相信这只是对第三节库的引用。
(摘自行话文件)
诸如malloc(3)和patch(1)之类的引用是针对Unix工具的(其中一些工具,例如patch(1),实际上是通过Usenet分发的开源工具)。
发布于 2012-07-12 04:24:39
看起来作者只是非常具体而已。
如果可能存在相同函数的shell版本,则指定对手册页的第3节的引用通常很有用。例如,printf(1)与printf(3)的man 1 printf。
但是对于malloc,文档应该只存在于第3节中。
https://stackoverflow.com/questions/11440846
复制相似问题