-
- Начальный пост был примерно таков, как я понял из описания: VVB_(392 знак., 04.05.2010 13:12, )
- Я готов согласиться, что если volatile-переменная используется вне прерывания один раз, то все будет работать. Одна проблема - я НЕ ХОЧУ считать количество обращений к этой переменной. Достаточно сложный проект, есть над чем думать и без этого. Правило Vladimir Ljaschko(51 знак., 04.05.2010 13:43)
- В моей жизни пока не было случая, чтобы предполагалось, что переменная, изменяемая в прерывании, может измениться в последовательной цепочки обработки внутри какой-то функции. Как правило (в моих проектах), при входе в функцию надо один раз узнать VVB_(549 знак., 04.05.2010 13:58, )
- Мой случай Vladimir Ljaschko(538 знак., 04.05.2010 14:12)
- Ну и применительно к Вашему примеру наиболее безопасно будет при входе в функцию, расчитывающую усреднение (или перед операцией деления) запретить прерывания, создать локальные копии, снова разрешить прерывания, выполнить деление. Это из-за того, что за VVB_(211 знак., 04.05.2010 14:12, )
- Кроме случая, когда команды "прочитать переменные a,b и разделить" выполняются атомарно. Но это экзотика. - VVB_(04.05.2010 14:15, )
- В моей жизни пока не было случая, чтобы предполагалось, что переменная, изменяемая в прерывании, может измениться в последовательной цепочки обработки внутри какой-то функции. Как правило (в моих проектах), при входе в функцию надо один раз узнать VVB_(549 знак., 04.05.2010 13:58, )
- Плохой пример из-за возможного деления на ноль и лишней функции Vit(103 знак., 04.05.2010 13:19)
- Это очевидно. Я лишь показал идеологию использования переменных. - VVB_(04.05.2010 13:42, )
- Мне очевидно то, что Ваше утверждение об отсутствии необходимости в volatile у топикстартера, неверно. А Ваш опыт и некая идеология какие-то особенные. (не сочтите за грубость, плз) - Vit(04.05.2010 13:55)
- Если переменная используется только пару раз, то volatile ни на что не влияет, если больше, то есть риск. Ну и спрашивается, нафига вся эта головная боль? Чего ради? - =AlexD=(04.05.2010 13:47)
- Это очевидно. Я лишь показал идеологию использования переменных. - VVB_(04.05.2010 13:42, )
- Тело Count() должно быть таким (не смогу откорректировать пост): VVB_(54 знак., 04.05.2010 13:14, )
- И забыл </c> написать :-) - VVB_(04.05.2010 13:15, )
- Зарегистрированные пользователи могут редактировать сообщения. - =AlexD=(04.05.2010 13:25)
- И забыл </c> написать :-) - VVB_(04.05.2010 13:15, )
- Я готов согласиться, что если volatile-переменная используется вне прерывания один раз, то все будет работать. Одна проблема - я НЕ ХОЧУ считать количество обращений к этой переменной. Достаточно сложный проект, есть над чем думать и без этого. Правило Vladimir Ljaschko(51 знак., 04.05.2010 13:43)
- Начальный пост был примерно таков, как я понял из описания: VVB_(392 знак., 04.05.2010 13:12, )