LINUX.ORG.RU

История изменений

Исправление victor79, (текущая версия) :

Я с ассеблером возился так давно, что уже забыл как называются регистры. Но осталось отложенным, что есть стековый указатель, что он куда-то там движется, и при желании им можно вертеть как нужно. В старых системах все упиралось в 16 битовые размерности.

И вот чего я не понимаю, так это почему с появлением 32 бит, и уже тем более 64 бит, и с появлением меммапа, почему не прикрутили этот меммап к стеку? Хотя бы даже доп.опцией компиляции?

У стека есть преимущество, что при выделении в нем нет затрат на отслеживание фрагментации, и сама фрагментация отсутствует.

Как то требовалось выделять большие и маленькие куски памяти в перемешку в длительном расчетном алгоритме, и в результате память куда-то пропадала. Пока я не переписал все на свой менеджер памяти, который выделял память только из соответсвующих по размеру пулов. Лет пять назад это было и компилятор был гсс.

Но это все очень заморочно. А при наличии безразмерного стека существенную часть можно выделять в нем.

Исходная версия victor79, :

Я с ассеблером возился так давно, что уже забыл как называются регистры. Но осталось отложенным, что есть стековый указатель, что он куда-то там движется, и при желании им можно вертеть как нужно. В старых системах все упиралось в 16 битовые размерности.

И вот чего я не понимаю, так это почему с появлением 32 бит, и уже тем более 64 бит, и с появлением меммапа, почему не прикрутили этот меммап к стеку?