Привет все.
Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров??
Заранее спасибо
Re: Если переменных register больше чем регистров
От:
Аноним
Дата:
21.10.03 07:35
Оценка:
Здравствуйте, Amon-RA, Вы писали:
AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах.
Нет. То есть мы хотим, чтобы они хранились в регистрах.
Здравствуйте, Amon-RA, Вы писали:
AR>Привет все. AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах.
Не правда. Это означает что компилятор должен постараться хранить их в регистрах. AR>А что будет, если этих переменных больше чем регистров?? AR>Заранее спасибо
Re[2]: Если переменных register больше чем регистров
register — это твоя смиренная просьба компилятору. Он может и проигнорировать ее
Вообще говоря, многие современные С++ компиляторы вообще не принимают в расчет твои просьбы о register, а сами помещают переменные в регистры на основании собственных правил оптимизации.
Здравствуйте, Amon-RA, Вы писали:
AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров??
Они не хранятся в регистрах. Они, по изначальной идее, становятся первоочередными кандидатами на помещение в регистры. А не хватит регистров — значит не хватит. Никаких гарантий тут тебе никто не дает.
Да и в современных реализациях, как правило, компилятор предпочитает сам соображать, что поместить в регистр, а что нет. Ключевое слово register при этом игнорируется. Забудь про него. Оно уже давно не имеет никакого практического применения и существует сегодня только для обратной совместимости по исходным текстам.
Здравствуйте, Amon-RA, Вы писали:
AR>Привет все. AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров?? AR>Заранее спасибо
Привет всем.
А ты скомпили свою программку, с созданием файла с кодом на асме и посмейся над тем что получится, при использовании модификатора register и без него.
Re[2]: Если переменных register больше чем регистров
Здравствуйте, slz, Вы писали:
s> s> Привет всем. s> А ты скомпили свою программку, с созданием файла с кодом на асме и s> посмейся над тем что получится, при использовании модификатора register s> и без него.
А что, если указываешь register, компилятор анекдоты в бинарники вставляет?
-- Всего хорошего!
-- Alex Alexandrov, e-mail: alex_alexandrov@fromru.com
Posted via RSDN NNTP Server 1.7 "Bedlam"
It's kind of fun to do the impossible (Walt Disney)
Re[3]: Если переменных register больше чем регистров
s>> А ты скомпили свою программку, с созданием файла с кодом на асме и s>> посмейся над тем что получится, при использовании модификатора register s>> и без него.
aa> А что, если указываешь register, компилятор анекдоты в бинарники вставляет?
А с каких пор асмовские листинги стали бинарными?
--
aga
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[2]: Если переменных register больше чем регистров
Здравствуйте, slz, Вы писали:
slz>Здравствуйте, Amon-RA, Вы писали:
AR>>Привет все. AR>>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров?? AR>>Заранее спасибо
slz>Привет всем. slz>А ты скомпили свою программку, с созданием файла с кодом на асме и посмейся над тем что получится, при использовании модификатора register и без него.