2016-05-18 18 views
0

私はmallocについて学び、それが何のために使われているのか理解しています。私はmallocがCで書かれているのが好きです。もしそうなら、それを定義するコードを見たいと思います。誰でもmallocの定義がどこにあるのか知っていますか?mallocはどこでコードで定義されていますか?

EDIT:

私はこのリンクを認識して(とGoogleのそれのような多くの)http://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.htmlだが、それはmalloc関数のコード定義はありません。私はmallocが定義されているソースファイル(存在する場合)を探しています。あなたはこのような定義の多くを見つけることができます。この

void *malloc(size_t size) { 
    // code for how malloc is implemented 
} 
+0

これを読んでください:http://web.eecs.utk.edu/~huangj/cs360/360/notes/Malloc1/lecture.html –

+0

多くの実装がありますが、最も人気の高い「doug lea malloc」を検索してください – GeorgeAl

+0

'glibc'ソースコードを確認してください。 –

答えて

1

malloc()は、標準ライブラリがCライブラリに属しているため、すべてのUNIXフレーバに関する限り、標準ライブラリで定義されています。どちらのシステムでも、CライブラリとC APIが実装されていれば、少なくともmallocを持つことが期待できます。標準ライブラリmalloc()を有することもを使用した横に、

NET BSD malloc
OSX malloc

一部のレガシーUNIXシステム(例えばIRIX):ここ

は、ソースコードとのリンク(横挙げGNU上記)より少ないですa fastlibmallocの実装です。

また、SO postをご覧ください。

2

私はあなたにGNU Cライブラリ:glibcをチェックすることをお勧めします。

http://www.gnu.org/software/libc/download.html

あなたはそこにコードを読み取ることができます。 mallocフォルダにあります。

関連する問題