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

 
 
> Оптимизатор IAR, Как локально отключить оптимизатор IAR
Sergio66
сообщение Feb 14 2006, 12:28
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Проблема такая - IAR овский компиллер выкидывает строки из программы (на листинге они просто закомментированы) по своему усмотрению. Как можно заставить его не делать это. Отключение оптимизации для определенной функции не устраивает. Т.к. тот код, который выкидывается - опрос готовности клавиатуры используется во многих функциях программы и если для каждой из них отключить оптимизацию, то код вылезет из памяти.
Это и есть злополучная строка.
while(!(system_events.events_by_flags.Key_pressed)) {RETURN_IF_ING_OFF;};
system_events.events_by_flags.Key_pressed - это итовое поле, выставляемое в обработчике прерывания клавиатуры,
RETURN_IF_ING_OFF - макрос выхода из функции при снятиии сигнала с определенной ноги процесстра.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sergio66
сообщение Feb 14 2006, 12:55
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Именно так и есть!!! Именно volatile тип он и имеет!
Go to the top of the page
 
+Quote Post
dxp
сообщение Feb 14 2006, 13:23
Сообщение #3


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Sergio66 @ Feb 14 2006, 18:55) *
Именно так и есть!!! Именно volatile тип он и имеет!

Дайте полный текст функции (в контексте обсуждаемого) и определение этой структуры. Чтобы можно было просто у себя попробовать.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 16 2006, 09:06
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(dxp @ Feb 14 2006, 15:23) *
Дайте полный текст функции (в контексте обсуждаемого) и определение этой структуры. Чтобы можно было просто у себя попробовать.

И разверните макрос RETURN_IF_ING_OFF.
Go to the top of the page
 
+Quote Post



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

 


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


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