4

jemallocメモリマネージャに関するハッカーの記事を読んでいる間、ハッカーはmallocではなくmalloc(3)を参照し続けます。なぜだろうと思いました。

それは特定のLinuxmalloc実装を参照しているので、彼はそうしますか?または、単にunix / linuxのマニュアルページのセクション3(ライブラリ関数)で説明されているインターフェイスを実装するすべてのmallocバリアントを参照しますか?このオプションは私の推測です、確認したいです。別の理由がありますか?

それで、ハッカーはただ過度に具体的ですか?または、mallocとmalloc(3)の間に違いはありますか?

(3)の部分は、ハッカーの記事で後述する他のドキュメント、記事、または調査への参照ではありません。

4

3 に答える 3

9

malloc(3)mallocマニュアルページのセクション3の一部である単なるヒントです。セクション3は、ライブラリ関数です。これは、syscallが存在するマニュアルページのセクション2に反対するものです。ありませんmalloc(2)

例えば:

fwriteはライブラリ関数なので、次のように記述されることもあります。fwrite(3)

writeはsyscallなので、次のように記述されることもあります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-11T20:24:22.753 に答える
3

序文:私のUNIXは弱いです。

これは、セクション3ライブラリへの単なる参照であると思います。

(jargonファイルから)
malloc(3)やpatch(1)などの参照はUnix機能への参照です(patch(1)などの一部は実際にはUsenetを介して配布されるオープンソースです)。

于 2012-07-11T20:26:08.497 に答える
1

著者は単に非常に具体的であるように見えます。

マニュアルページのセクション3への参照を指定すると、同じ関数のシェルバージョンなどがある場合に役立つことがよくあります。たとえば、man 1 printfprintf(1)とprintf(3)の場合です。

ただし、mallocドキュメントの場合は、セクション3にのみ存在する必要があります。

于 2012-07-11T20:24:39.210 に答える