Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.56 MB
Время: 0.02 c
14-48298
Alibaba
2002-07-19 12:50
2002.08.15
Есть вакансия программиста (г Киев)


3-47926
sergey32
2002-07-24 18:27
2002.08.15
Обратная нотификация


3-47934
PavelB
2002-07-25 12:20
2002.08.15
события DBGrid


1-48167
Дельфятник
2002-08-02 11:31
2002.08.15
Освобождение памяти из-под объектов.


1-48111
GTA 3
2002-08-05 12:11
2002.08.15
Как записать опр. строку по счёту в файл?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский