Главная страница
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.01 c
1-48154
shubin
2002-08-01 14:18
2002.08.15
Нужен компонентик


14-48309
Чмо
2002-07-22 00:01
2002.08.15
Возможно подобрать пароль к *.doc?


1-48026
anod
2002-08-03 16:59
2002.08.15
Почему не работает рекурсия?


1-48188
devol
2002-08-02 18:09
2002.08.15
Richtext


1-48191
Sedunov Vitaly
2002-08-02 18:41
2002.08.15
OnActivate