一部のCライブラリには、カスタムメモリアロケータ(malloc
/free
置換)を指定する機能があることがわかります。
- どのシステム/環境/条件でそれが役に立ちますか?この機能は、MSDOS時代の残り物、または同様のもはや関連性のない問題ではありませんか?
背景ストーリー:
pngquantをさまざまなソフトウェア(iOSアプリからApacheモジュールまで)に埋め込むことができるライブラリにすることを計画しています。私はmalloc()
/free()
と自分のメモリプールを小さな割り当てに使用しています。合計で2MB〜50MBのメモリを使用しています。私はスレッドを使用していますが、メインスレッドに割り当てるだけで済みます。