エラーチェックをする malloc() の portable なソース
kmmalloc(kmatsui の malloc)は malloc(), free(), realloc(), calloc() の C によるソースです。これは次のようなねらいで書かれたものです。
1. OS や処理系に依存する部分を10個くらいの型宣言とマクロで指定すればすむ portable なソースである。UNIX 系・DOS/Windows 系の OS のいくつかの処理系にすでに対応しており、一定の条件さえ満たしていれば他の多くのシステムにも簡単に実装できるはずである。
2. 空きブロックのサーチに多くの処理系が使っている "first fit" 法ではなく "best fit" 法を採用した。そのためメモリ効率が良い。(first fit 法も使える)
3. エラーチェックをする。このチェックがないと、ヒープがらみのバグのデバッグは極めて困難なものである。エラーチェックをする malloc() としては他にもいくつかの free software があるが、いずれも速度が極めて遅く、メモリ効率も悪く、コードサイズが極めて大きく、デバッグ時にしか使えないものである。それに対して kmmalloc は効率のよいエラーチェックをするので、速度はさほど遅くならない。コードサイズもさほど大きくなく、メモリ効率はむしろ良いほうなので、そのままリリース版として使える。したがって、ソフトのリリース後も常時エラーチェックがされることになる。エラーチェックの方法は環境変数で指定することができるので、リコンパイルしなくてもエラーの発生箇所を把握することができる。
ソフト名: | エラーチェックをする malloc |
---|---|
動作OS: | 汎用 |
機種: | 汎用 |
種類: | フリーソフト |
作者: | 松井 潔 |