|
если Вам надо единовременно иметь N байт, то линкер Вам выделит такой сегмент памяти, который позволит вместить максимальное N - равно как и при использовании стековой модели.
Ну просто посчитайте:
допустим в функции main Вы используете 60 байт
все остальные функции вызываются из main
допустим вложенных вызовов нету
тогда Вам остается 256-60-размер_стека_подпрограмм байт
для ЛЮБОЙ функции.
Как Вы не понимаете? Overlapped - значит перекрывающийся сегмент.
Это значит в одни и те же адреса будут помещаться локальные неперекрывающиеся переменные - полностью аналогично использованию стековой модели хранения данных.
Если Вы нам не верите, то просто напишите маленькую тестовую программку со множеством функций и локальных переменных. Скомпилите и посмотрите map-файл - и Вы увидите как перекрываются локальные переменные и что реально занимаемая память внутреннего ОЗУ будет меньше просто суммы всех локальных переменных.
Не верите - проверьте.
E-mail: info@telesys.ru