реклама на сайте
подробности

 
 
> Warning[Pa082]: volatile accesses, Что за Warning и как с ним боротся
Lexy_one
сообщение Jul 27 2011, 08:12
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 28-07-09
Из: Чернигов
Пользователь №: 51 621



Доброго времени суток!!!

Есть вопросик следующего плана....

В процессе написания программ часто возникают сообщения типа:
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement ...

Как оказалось данное сообщение возникает например при включение нескольких переменных (volatile) в математические вычисления или при передаче их в функции...
Раньше боролся с этим путем создания темповых переменных и переприсвоения... Но считаю что данный подход не совсем правильный и хочу услишать мнения "знающих"

Что это именно означает это сообщение и как с ним праввильно бороться...

P.S. Уменя компилятор ИАР для АРМ версии 5.41 и для АВР версии 5.50 .... хотя на более ранней версии ИАР для АВР (3.1) данного сообщения не было..?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Lexy_one
сообщение Jul 27 2011, 10:10
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 28-07-09
Из: Чернигов
Пользователь №: 51 621



На самом деле обилия volatile переменных нету... их там 4-5....
А борьба идет с частными случаями (иногда возникающими).

Я и сам стараюсь без необходимости не использовать volatile
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 27 2011, 16:57
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Lexy_one @ Jul 27 2011, 12:10) *
А борьба идет с частными случаями (иногда возникающими).

Если уверны, что ни к каким побочным эффектам в данном выражении проблема с тем, что переменная volatile, не приведет (а это обычное дело при помянутой Вами передаче в функции), то просто
прикройте предупреждение с этом конкретном месте прагмой.
#pragma diag_suppress=Pa082
......
......
#pragma diag_warning=Pa082


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 21:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016