アセンブラ… (・∀・)イイ!
■ このスレッドは過去ログ倉庫に格納されています
0406デフォルトの名無しさん
NGNG>>398
スタックサイズに限界があるからヒープがある、と理解したように
読めるんだけど…。ヒープサイズにももちろん限界はあるよ。
そもそも使用目的が違うし。
Linuxの場合、メモリ空間の頭の方からtext、続いてdataセクションが
あってそれに続くbss(0で初期化されてるdata)が後ろのアドレスに拡張
できるようになっていて、それがヒープとなる。この拡張はbrk()や
sbrk()というシステムコールで行われるので、この辺のmanも見てみると
いいよ。
スタックは、メモリ空間の最後の方のアドレスから逆方向に伸びていく。
ヒープはユーザーが明示的に増やしてやらないと増えないけど、スタック
は使用されるにしたがってOSが自動的にメモリを確保して割り当ててくれる。
ヒープとスタックはメモリの両端から逆方向に向かって伸びていくので、
論理的な限界はアドレス空間の真中でお互いがぶつかるまでかな。
(shared libraryのことを考えない場合)
■ このスレッドは過去ログ倉庫に格納されています