ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
1139028 Топик полностью
Guest (17.10.2021 00:40, просмотров: 3) ответил RxTx на volatile древняя вещь, потребность в ней возникла почти сразу же при создании системного языка. Этот атрибут ставится для того чтобы кодогенератор не распределял под переменную регистр процессора. Не "не проводил оптимизацию", бла-бла-бла, а чтобы автоматом не распределял переменную в регистр процессора. Это то как надо понимать volatile а не ‘it can change outside of what the compiler might assume‘. Хотя последнее конечно верно, но это уже следствие. При разработке
Причем здесь регистры процессора? Чтобы переменная не помещалась в регистр или в стек используется static. Volatile используется когда переменная может изменяться в прерывании или при вводе. Ее нельзя оптимизировать, потому как ее поведение определяется не только самой программой, а и внешними факторами.