ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
21 января
1486841 Топик полностью
Nikolay_Po (26.12.2024 20:01, просмотров: 58) ответил mse homjak на Ну, скажэм так, зачем нужна переменная в прерывании, для передачи данных из внешнего порта, если её нельзя пользовать в проекте? Т.е. только волатильность.
Во-во. Поэтому всегда тщательно анализируйте, какие переменные внутри контекста, а какие - из прерываний. И назначайте соответствующие квалификаторы. Я при каждом ревью кода внимательно смотрю, вплоть до составления списка, какие переменные у меня обновляются или вычитываются вне контекста. И объявляю их волатильными. 

И да, внос доступа к волатильным переменным в геттеры/сеттеры - хорошее подспорье. Во-первых, вы переводите обработку из волатильной в нормальную - улучшаете оптимизацию. Во-вторых, удобно делать блокировку прерываний или другого рода защиту для неатомарных объектов.