16+
Воскресенье
22 июля
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
sladkoejka  (05.07.2018 15:02 - 05.07.2018 15:06) , в ответ на Вот по этоой статье учились поколения :) автор: Petrovich
Ничего нового в этой статье нет. Насчет использования volatile в циклах - это очень неудачный совет. Лучше использовать какое-либо полезное действие в теле цикла (например NOP). И вот почему.  
При использовании volatile для переменной цикла, компилятор вынужден считать, что переменная может измениться во время работы цикла, поэтому если он не достаточно умный, то выкидывать такой цикл не будет. Это к вопросу почему в данном случае volatile помогает. Однако это некорректное решение, т.к. компилятор может быть достаточно умным, чтобы проанализировать, что переменная недоступна из другого кода (на неё нет никаких сссылок). И такой компилятор со спокойной душой удалит цикл, использующий локальную переменную, помеченную как volatile. Почему? Потому что тело такого цикла пустое - ничего не делает. А значение локальной переменной, помеченной как volatile другим кодом использоваться не может. Т.к. на такую переменную невозможно получить ссылку. Поэтому её изменение бесполезное занятие. С другой стороны, код не пустого цикла, который выполняет полезную работу (в данном случае NOP) компилятор уже не сможет выбросить ни при каких условиях, т.к. этот цикл обязан выполнить указанную операцию NOP заданное число раз.
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII