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

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> IAR 6.4 Optimization Bug, изменение работы алгоритма при включении оптимизации
MK2
сообщение Jan 30 2013, 10:07
Сообщение #46


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 30-10-10
Пользователь №: 60 535



Еще один возможно прикол версии 6.4
Код
static class UART_CL{
....
              uint8_t start_enable;
              uint8_t ask_enable;
....
void start_ask(){
          ....
ask_enable = 1;
                  while(start_enable);
...          }    
....
void send_codram(){
....
if(ask_enable)
        start_enable = 0;  
....}
.....
}UART1;

долго бился с багом в этом коде и под отладкой заметил следующие...
переменные ask_enable, start_enable в методах send_codram() и start_ask() находятся там под разными адресами!!!!!
т.е. в методе send_codram() переменная start_enable находится по адресу 0х2000058С, а в start_ask() под адрессом 0х2000051С !!!
подобное поведение встречается и в других статических классах.
решается статическими переменными, но все равно такие фичи разочаровывают =(
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 30 2013, 10:19
Сообщение #47


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (MK2 @ Jan 30 2013, 12:07) *
подобное поведение встречается и в других статических классах.
Что такое "статический класс"?
Намекаю дальше: в этих функциях адреса разные при вызове одной функции из одного файла, а другой функции из другого исходного файла?

QUOTE (MK2 @ Jan 30 2013, 12:07) *
но все равно такие фичи разочаровывают =(
Боюсь, в данном случае на зеркало пенять не стоит.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MK2
сообщение Jan 30 2013, 11:45
Сообщение #48


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 30-10-10
Пользователь №: 60 535



Цитата(Сергей Борщ @ Jan 30 2013, 13:19) *
Что такое "статический класс"?
Намекаю дальше: в этих функциях адреса разные при вызове одной функции из одного файла, а другой функции из другого исходного файла?

намек понял... 05.gif
Go to the top of the page
 
+Quote Post
zhz
сообщение Apr 17 2013, 23:48
Сообщение #49


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

Группа: Свой
Сообщений: 80
Регистрация: 21-03-05
Пользователь №: 3 559



В версии 6.50.5 баг с оптимизацией вроде бы исправили.

Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 18 2013, 01:42
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(zhz @ Apr 18 2013, 05:48) *
В версии 6.50.5 баг с оптимизацией вроде бы исправили.

Вроде-бы??? какой именно?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 18 2013, 04:58
Сообщение #51


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



И точно!!! Мой баг исправили, о котором я писал в: http://electronix.ru/forum/index.php?showtopic=105402
Теперь всё верно компилится.
УРА!!! yeah.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 04:53
Рейтинг@Mail.ru


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