Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Вторник
21 января
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
ARM, RISC-V контроллеры
1486948
Топик полностью
vpv.vpv
(27.12.2024 06:44, просмотров: 42)
ответил
SciFi
на
Это правда, что volatile зачастую слишком грубый инструмент. Пригодились бы и дополнительные варианты с различной избирательностью. Но мсье хомяк от этого только больше запутается.
Volatile прекрасный инструмент. Просто пользоваться им надо с умом. Где-то сделать локальную копию, если нужны вычисления и модификация, и прерывания можно запретить. Надо просто представлять, как работает процессор.
Ответить
При всем этом, если компилятор посчитает, что переменная не могла измениться или не используется, то он просто выкинет вычитывание нового значения или вообще кусок работы с ней, дело тут не в процессоре, а в стратегиях оптимизации компилятора.
-
Andreas
(27.12.2024 08:56
)
Именно. Поэтому программист должен явно указывать компилятору, что это значение нужно перечитать (перезаписать) всё равно - квалификатором
volatile
.
-
Nikolay_Po
(27.12.2024 10:09
)