2

一部のシステムでは、スタックは上方向に成長しますが、ヒープは下方向に成長し、一部のシステムでは、スタックは下方向に成長し、ヒープは上方向に成長します。しかし、どれが最高のデザインですか?これら 2 つの特定の設計のいずれにもプログラミング上の利点はありますか? 最も一般的に使用されているのはどれですか?単一のアプローチに従うように標準化されていないのはなぜですか? それらは特定の特定のシナリオに役立ちますか、または対象としていますか。はいの場合、それらは何ですか?

4

3 に答える 3

1

非常に素朴な実装では、ヒープはある方向にのみ「成長」します。Paul R. が言及しているように、スタックが成長する方向はハードウェアによって定義されます。Intel CPU では、常に小さなアドレス「つまり「上」」に向かって進みます。

于 2010-07-30T19:00:38.530 に答える
0

私は Miro Samek やその他のさまざまな組み込みグルの著作を読みましたが、彼らは組み込みシステムでの動的割り当てを支持していないようです。これはおそらく、複雑さとメモリ リークの可能性によるものです。絶対に失敗できないプロジェクトがある場合は、Malloc の使用を避けた方がよいため、ヒープは小さくなります。ミッション クリティカルではない他のシステムは、正反対の場合があります。標準的なアプローチはないと思います。

于 2010-07-30T18:59:55.143 に答える
0

多分それはプロセッサに依存しているだけです:それがスタックの上方または下方への移動をサポートしている場合は?

于 2010-07-30T19:00:16.017 に答える