0

私の目標は、独自の「malloc」および「free」関数を作成することです。私は練習のためにこれをやっているだけなので、スピード/パフォーマンスには興味がありません. 代わりに、より簡単に理解できるように、簡単なアプローチを採用します。

どこから始めればよいですか? それを行う方法についての指針を教えてください。または、これらの関数を作成するために何を使用する必要があるかを教えてください。

4

3 に答える 3

2

答えは、以前の質問へのリダイレクトのようなものです

Malloc がCで独自のmalloc関数を作成する場合

For Free C - 独自の free( ) 関数を設計する

そして、1 つのブログ http://www.dreamincode.net/forums/topic/178691-creating-a-custom-malloc-and-free-in-c/

于 2013-04-12T06:05:45.900 に答える
1

jemallocは、 libc の無料でオープンソースのスレッドセーフな代替品ですmalloc()。そのコードは非常に単純であり、それを調べると、malloc やその他の libc 関数の独自の置換を作成するために知っておく必要があるすべてのことがわかります。

  • libc関数の内部ガットでの呼び出しを含む、すべてのネイティブlibcの代わりにmallocをコンパイラに使用させる方法;malloc()
  • スレッドセーフにする方法;
  • すべてのプラットフォームでコンパイル可能で機能するようにする方法。

NetBSD と FreeBSD は、既定のメモリ アロケーターとして既に jemalloc を使用していることに注意してください。

于 2013-04-12T06:22:50.017 に答える