[an error occurred while processing this directive]
Ответ: несовместимость в voliatile и register
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено dsdsdsds 09 августа 2005 г. 15:06
В ответ на: Да право то имеет, но без VOLATILE он переменную как раз в регистре размещает :( отправлено <font color=gray>Непонятно</font> 09 августа 2005 г. 14:41

Так правильно народ говорит.
слово volatile было придумано для того , что бы дать понять компилеру, что это ячейка памяти меняется асинхронно(например в нее отабражен таймер). B привильный компилятор при любом упоминании volatile переменной будит генерить прогу лязающую в ПАМЯТЬ, даже если она ее пару команд назад загрузил в РЕГИСТР. Поэтому volatile register является противоречивым (хранить толлько в памяти, но при этом в регистре = нонсенс)
Одним словом не требуйте от компилятора невозможного, если хочется гарантий , то делайте асм-вставку/

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru