Направление роста стека и роста кучи - PullRequest
2 голосов
/ 30 июля 2010

В некоторых системах стек растет в направлении вверх, тогда как куча растет в направлении вниз, а в некоторых системах стек увеличивается в направлении вниз, а куча растет в направлении вверх.Но какой дизайн самый лучший?Есть ли какие-либо преимущества в программировании для любого из этих двух конкретных проектов?Что чаще всего используется и почему не было стандартизировано, чтобы следовать одному подходу?Являются ли они полезными / предназначенными для определенных конкретных сценариев.Если да, то каковы они?

Ответы [ 3 ]

1 голос
/ 30 июля 2010

Кучи только «растут» в направлении в очень наивных реализациях.Как упоминает Пол Р., направление роста стека определяется аппаратным обеспечением - на процессорах Intel оно всегда направлено на меньшие адреса, то есть «вверх»

0 голосов
/ 30 июля 2010

Может быть, это просто зависит от процессора: поддерживает ли стек вверх или вниз?

0 голосов
/ 30 июля 2010

Я читал работы Миро Самека и различных других встраиваемых гуру, и кажется, что они не поддерживают динамическое размещение во встраиваемых системах.Вероятно, это связано со сложностью и потенциальной утечкой памяти.Если у вас есть проект, который абсолютно не может потерпеть неудачу, вы, вероятно, захотите избежать использования Malloc, поэтому куча будет небольшой.Другие не критически важные системы могут быть как раз наоборот.Я не думаю, что был бы стандартный подход.

...