Если переменных register больше чем регистров
От: Amon-RA  
Дата: 21.10.03 07:26
Оценка:
Привет все.
Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров??
Заранее спасибо
Re: Если переменных register больше чем регистров
От: Аноним  
Дата: 21.10.03 07:35
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах.


Нет. То есть мы хотим, чтобы они хранились в регистрах.
Re: Если переменных register больше чем регистров
От: Demon Россия  
Дата: 21.10.03 07:35
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Привет все.

AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах.
Не правда. Это означает что компилятор должен постараться хранить их в регистрах.
AR>А что будет, если этих переменных больше чем регистров??
AR>Заранее спасибо
Re[2]: Если переменных register больше чем регистров
От: Amon-RA  
Дата: 21.10.03 07:38
Оценка:
Здравствуйте, Demon, Вы писали:

D>Не правда. Это означает что компилятор должен постараться хранить их в регистрах.


А как компилятор выбирает какие в регистах, а какие нет? По частоте использования?
Re: Если переменных register больше чем регистров
От: Vamp Россия  
Дата: 21.10.03 07:39
Оценка:
register — это твоя смиренная просьба компилятору. Он может и проигнорировать ее
Вообще говоря, многие современные С++ компиляторы вообще не принимают в расчет твои просьбы о register, а сами помещают переменные в регистры на основании собственных правил оптимизации.
Да здравствует мыло душистое и веревка пушистая.
Re: Если переменных register больше чем регистров
От: Андрей Тарасевич Беларусь  
Дата: 21.10.03 07:59
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров??


Они не хранятся в регистрах. Они, по изначальной идее, становятся первоочередными кандидатами на помещение в регистры. А не хватит регистров — значит не хватит. Никаких гарантий тут тебе никто не дает.

Да и в современных реализациях, как правило, компилятор предпочитает сам соображать, что поместить в регистр, а что нет. Ключевое слово register при этом игнорируется. Забудь про него. Оно уже давно не имеет никакого практического применения и существует сегодня только для обратной совместимости по исходным текстам.
Best regards,
Андрей Тарасевич
Re: Если переменных register больше чем регистров
От: slz Россия  
Дата: 21.10.03 10:48
Оценка:
Здравствуйте, Amon-RA, Вы писали:

AR>Привет все.

AR>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров??
AR>Заранее спасибо

Привет всем.
А ты скомпили свою программку, с созданием файла с кодом на асме и посмейся над тем что получится, при использовании модификатора register и без него.
Re[2]: Если переменных register больше чем регистров
От: alexandrov_alex США  
Дата: 21.10.03 10:51
Оценка: :)
Здравствуйте, 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 больше чем регистров
От: Andrew Galuzin Украина  
Дата: 22.10.03 13:28
Оценка: :)
s>> А ты скомпили свою программку, с созданием файла с кодом на асме и
s>> посмейся над тем что получится, при использовании модификатора register
s>> и без него.

aa> А что, если указываешь register, компилятор анекдоты в бинарники вставляет?


А с каких пор асмовские листинги стали бинарными?

--
aga
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[2]: Если переменных register больше чем регистров
От: Amon-RA  
Дата: 22.10.03 13:39
Оценка:
Здравствуйте, slz, Вы писали:

slz>Здравствуйте, Amon-RA, Вы писали:


AR>>Привет все.

AR>>Вот такой вопрос. Мы объявляем какие-то переменные как register. То есть они хранятся в регистрах. А что будет, если этих переменных больше чем регистров??
AR>>Заранее спасибо

slz>Привет всем.

slz>А ты скомпили свою программку, с созданием файла с кодом на асме и посмейся над тем что получится, при использовании модификатора register и без него.

Блин, одно и тоже
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.