Форум: "Основная";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];
ВнизВопрос о константах Найти похожие ветки
← →
SPeller (2002-08-03 08:29) [0]Всем доброго времени суток!
Меня вот крайне заинтересовал такой вопрос. Когда мы в модуле в разделе описаний объявляем константу, то загружается ли она в память при работе программы, или же в память создаётся её копия при обращении, или ещё как? Подскажите пожалуйста!
← →
Слесарь Матерящийся (2002-08-03 09:57) [1]Должно быть, статически размещается в теле модуля (логический сегмент .data). Дополнительная память не выделяется, т.к. это не нужно.
← →
Урри (2002-08-03 10:43) [2]Значения нетипизированных констант (A=1) подставляются компилером непосредственно в код. Типизированные константы (A:integer=1) предсталяют собой обычные переменные, просто при инициализации им присваивается указанное значение.
← →
Anatoly Podgoretsky (2002-08-03 11:19) [3]Нетипизированные тоже, если не помецается в регист, например строковые, реальные, создается значение в сегменте кода.
← →
SPeller (2002-08-03 12:14) [4]Шо-т я не понял про сегменты (извините уж). Если допустим я определю константу-массисв размером в 5 млн. элементов (например), то скажется ли это отрицательно? Или, "создаётся значение в сегменте кода" - это значит что компилятор просто возьмёт и вместо имени константы подставит то что я наопределял?
← →
Anatoly Podgoretsky (2002-08-03 12:22) [5]Не скажется, будет размещена в сегменте кода с соответствующими правами по доступу, но ты сейчас уже говоришь про типизированные констаны, это другое, я же говорил про обычные.
← →
SPeller (2002-08-03 13:18) [6]Ну хорошо, у меня допустим типизированные константы. Получается что память тратится на их содержание, т.е. они загружаются в память при начале работы программы?
← →
Anatoly Podgoretsky (2002-08-03 13:28) [7]А как же иначе, в голове что хранить. Вариант с глобальными переменными еще больше потребует памяти, ведь придется еще и инициализировать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c