こんにちは。平田@マイクロフトです > 私の考えでは・・。 > mallocで確保するメモリーの単位を適当なメモリーブロックで管理する > 。 > 1ブロック(たとえば128バイト)を管理するテーブルを設けてその領域が > 使われているかを管理する。 > これは誰でも考えつきます。 > 問題はfreeされた場合の領域管理で、malloc、freeを繰り返す > と 私は多くの場合メモリ確保はheapをどかっと取っておいてmalloc,freeに任していま す。 ただ組み込みで長時間動き続けるような応用では、おっしゃるとおり虫食いが発生す ると怖いので別にメモリ管理プログラムを用意しています。 プログラム構成を検討して「おっきなメモリ:数K単位」と「ちっさなメモリ:128程度」固 定長にして使用中、開放済みのフラグで管理しています。ついでに時間(Tick)と、仕 様、開放したタスクIDもテーブルに残しておくとあとでデバックのときに役立つこと が多いようです。 あまりこったことをすると動作検証が大変だったり、応答時間が一定にならないと組 み込み応用でつらかったりします(と、対外的な言い訳にしてます(^_^) ================================ 平田祥司(shouji@xxxxxxxxxxxxx) 株式会社マイクロフト(www.microft.co.jp) 神奈川県横浜市青葉区あかね台2-11-29 ================================