[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3833] BOARD: Re: malloc/free の動作



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい
http://www.imasy.org/~mone/osask/index.cgi?REFER=3d11cdee_1434d

2002/06/20 21:43
Gaku

こんちは。Gaku です。

[OSASK 3824] [OSASK 3826] へのレスです。

/////
[OSASK 3826] へのレスです。

> stdlib6aをベータリリースしたので、その中のstdlib.lib
> に差し替えてお試しください。

[OSASK 3805] の a.c では正しい動作をするように見えました。
しかし、スクリプトに組み込むと以前より動作が酷くなります。

/////
[OSASK 3824] へのレスです。

>>http://eieweb.yz.yamagata-u.ac.jp/~m01873/data/sample.lzh
>>
>>a.bin の動作ですが、期待通りになっていないように見えます。
>
>  確かにおかしいです。・・・いや、おかしくないかもしれませんが。

連続した領域があり、そこから malloc して、その後 malloc した領域を
全て free すれば領域は元通りに連続するはずです。
領域が連続ならば最後に free した領域に影響されないはずです。
malloc した領域を全て free すれば同じ動作になることを期待しました。

morecore して得られる領域が連続になっていないのでしょうか?
こういった不連続があるなら分かるのですが。

/////
それで、malloc 辺りを自前で書いてスクリプトに組み込んでみました。
(K&R をそのままです)
最初に大きく malloc して、それを使い回します。

[OSASK 3805] の sample.txt を動作させると同じ値を表示します。
また、sample8.txt sample9.txt を数回試しましたが、
[OSASK 3791] の症状はなくなったようです。

回避は出来るようなので、とりあえず、自前で malloc でと考えています。

それでは。また。