以下のメッセージを削除します。00:24:07Link:こんにちは。>スタックというのは、データ構造なのか、そういった領域があるのか、>いまいちわかっていません。通常はCPUに組み込みで備わっているスタックの機能を使います。2-6のアセンブリ言語を見ると、%rsp(スタックポインタ)というレジスタが登場しています。pointer)という名前が付いていることから、このスタックがCPU組み込みの機能であることがわかるでしょう。CPUに組み込みのスタック機能がないとしたら、別のレジスタやメモリをスタックポインタに使って同等の機能を実現することはできるでしょうが、その場合、pushq(List2-6の4行目)やpopq(16行目)のように、1命令でスタックに値を積んだり取り出したりはできなくなります。昔から、たいていのCPUには組み込みのスタック機能が付いています。スタックの領域は、p.100のFig.2-3にあるとおり、仮想アドレスのどこかにOSにより割り当てられています。>ヒープというのはもともとそういった領域が用意されているのでしょうか?これもp.100のFig.2-3にあるとおり、仮想アドレスのどこかにOSにより割り当てられています。>また、>p.141には「malloc()の要求に対して十分な大きさの空きブロックがない場合、>OSにお願いして領域を拡張してもらいます」>と書いてあります。>これは、もともとあるヒープ領域を拡張するという意味なのでしょうか?そうです。Fig.2-3の「malloc()により確保された領域」が下に伸びるイメージです。抜けているように思います。ご指摘ありがとうございます。編集段階で#が抜けてしまったようです。著者としてはゲラのチェックの段階で気付かなければいけなかったのですが......もうしわけありません)パスワード:。