Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

Вопрос о константах   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-47922
Vern
2002-07-23 09:10
2002.08.15
Проблемы с SQL


14-48249
asafr
2002-07-19 15:43
2002.08.15
Сегодня последний день перед отпуском. Маюсь на работе...


3-47933
NDR
2002-07-25 07:09
2002.08.15
Как отсортировать таблицу по двум полям ?


4-48378
VJar
2002-06-08 12:07
2002.08.15
Получение адресов папок


14-48266
MAN-IN-RED
2002-07-19 13:24
2002.08.15
Где в Киеве можно купить Xbox?