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

 
 
> Странности при оптимизации
DenisIV
сообщение Dec 23 2008, 12:40
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 11-12-08
Из: Республика Беларусь, г.Минск
Пользователь №: 42 380



Кстати, раз уж о глюках:

У меня при включенной оптимизации компилятор думает, что раз тела у while нет, то можно и зациклить сам на себя БЕЗ проверки условия, т.е.

MojBit=1;

while(MojBit==1) { };

в асме выглядит так:

Addr: rjmp Addr

Если в тело хотя бы вставить _NOP(); т.е. while(MojBit==1) {_NOP();};

картина меняется - добавляется загрузка вита в 1 и проверка в теле while. Вопрос знатокам: Почему? Компилятор умнее пользователя?

Модератор.
Тема выделена как отдельная из другого топика.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Dec 23 2008, 22:38
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Просто не устаю поражаться. На нашем форуме про volatile уж было все рассказано, подробнее, чем где-бы то ни было, учитывая специфику программирования железа. Ан нет, есть еще граждане про сие не читавшие, да еще и вопрос задающие не поймешь как. Чудно, все это.
Go to the top of the page
 
+Quote Post
DenisIV
сообщение Dec 23 2008, 23:21
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 11-12-08
Из: Республика Беларусь, г.Минск
Пользователь №: 42 380



Цитата(sergeeff @ Dec 24 2008, 01:38) *
Просто не устаю поражаться. На нашем форуме про volatile уж было все рассказано, подробнее, чем где-бы то ни было, учитывая специфику программирования железа. Ан нет, есть еще граждане про сие не читавшие, да еще и вопрос задающие не поймешь как. Чудно, все это.


Прошу простить... Это как допустим чья-то жена получила вчера права, начинает спрашивать мужа: "Как там решить вопрос с ГАИшниками, если..." Муж: "Я ж те говорил, книжки покупал..."

На сколько я знаю, volatile говорит компилятору о том, что все связанные с переменной действия ни в коем случае не оптимизировать. Вопрос для многозадачных или "мощных" систем вроде выглядит по другому: требуется ещё лочить переменную на время обработки данных(например в прерывании меняется массив данных и указатели на него а основная прога может вылететь) И если можно про static.

Просветите плиз тонкости... Может быть еще раз... Ну "я месяц назад получил права" smile.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 23 2008, 23:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(DenisIV @ Dec 24 2008, 04:21) *
И если можно про static.

Просветите плиз тонкости... Может быть еще раз... Ну "я месяц назад получил права" smile.gif
Вот тут не найдется для вас ответа на вопрос про static?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DenisIV   Странности при оптимизации   Dec 23 2008, 12:40
- - Палыч   Цитата(DenisIV @ Dec 23 2008, 15:40) Вопр...   Dec 23 2008, 12:52
|- - DenisIV   Цитата(Палыч @ Dec 23 2008, 15:52) Почему...   Dec 23 2008, 18:37
|- - Nemo2000   Цитата(DenisIV @ Dec 23 2008, 21:37) Вы з...   Dec 23 2008, 19:16
- - scifi   Цитата(DenisIV @ Dec 23 2008, 15:40) Вопр...   Dec 23 2008, 14:35
|- - sergeeff   Цитата(DenisIV @ Dec 24 2008, 03:21) Прош...   Dec 24 2008, 01:12
- - DenisIV   2rezident: со static (и не тоько) разобрался, спас...   Dec 24 2008, 02:56
- - sergeeff   Я все не пойму, что за проблемы "с этой оптим...   Dec 24 2008, 12:41
|- - DenisIV   Цитата(sergeeff @ Dec 24 2008, 15:41) Я в...   Dec 24 2008, 12:55
|- - XVR   Цитата(DenisIV @ Dec 24 2008, 15:55) Кажд...   Dec 24 2008, 14:13
|- - DenisIV   Цитата(XVR @ Dec 24 2008, 17:13) Нет. Ком...   Dec 24 2008, 15:47
|- - defunct   Цитата(DenisIV @ Dec 24 2008, 17:47) А ес...   Dec 24 2008, 17:09
|- - DenisIV   Цитата(defunct @ Dec 24 2008, 20:09) #pra...   Dec 25 2008, 13:17
|- - Сергей Борщ   Цитата(DenisIV @ Dec 25 2008, 15:17) Спас...   Dec 25 2008, 13:24
|- - DenisIV   Цитата(Сергей Борщ @ Dec 25 2008, 16:24) ...   Dec 25 2008, 13:36
- - sergeeff   Уважаемый DenisIV! Если вы хотите быть ...   Dec 24 2008, 16:26
|- - zltigo   Цитата(sergeeff @ Dec 24 2008, 19:26) Я у...   Dec 24 2008, 17:35
|- - sergeeff   Цитата(zltigo @ Dec 24 2008, 21:35) Про ...   Dec 24 2008, 22:09
|- - zltigo   Цитата(sergeeff @ Dec 25 2008, 01:09) К п...   Dec 24 2008, 23:00
- - sergeeff   Я не являюсь разрабочиком компиляторов и линкеров....   Dec 25 2008, 01:16
|- - XVR   Цитата(sergeeff @ Dec 25 2008, 04:16) Я н...   Dec 25 2008, 07:17
|- - Сергей Борщ   Цитата(XVR @ Dec 25 2008, 09:17) Вне зави...   Dec 25 2008, 10:24
|- - XVR   Цитата(Сергей Борщ @ Dec 25 2008, 13:24) ...   Dec 26 2008, 08:53
|- - HARMHARM   Цитата(XVR @ Dec 26 2008, 10:53) ... Опти...   Dec 26 2008, 23:34
|- - XVR   Цитата(HARMHARM @ Dec 27 2008, 02:34) Это...   Dec 27 2008, 08:33
- - DenisIV   Ещё вопросик: Например, компилятор HiTech предупре...   Dec 25 2008, 21:19
|- - Сергей Борщ   Цитата(DenisIV @ Dec 25 2008, 23:19) типа...   Dec 25 2008, 22:26
|- - zltigo   Цитата(Сергей Борщ @ Dec 26 2008, 01:26) ...   Dec 25 2008, 22:50
|- - Сергей Борщ   Цитата(zltigo @ Dec 26 2008, 00:50) Угу, ...   Dec 25 2008, 23:15
||- - zltigo   Цитата(Сергей Борщ @ Dec 26 2008, 02:15) ...   Dec 26 2008, 08:07
|- - DenisIV   Цитата(zltigo @ Dec 26 2008, 01:50) Вобще...   Dec 26 2008, 12:42
|- - zltigo   Цитата(DenisIV @ Dec 26 2008, 15:42) А ес...   Dec 26 2008, 13:39
|- - DenisIV   Цитата(zltigo @ Dec 26 2008, 16:39) Разум...   Dec 26 2008, 16:26
|- - zltigo   Цитата(DenisIV @ Dec 26 2008, 19:26) Что ...   Dec 26 2008, 16:41
- - rezident   DenisIV, а такой вариант объявления Код__no_init ...   Dec 25 2008, 21:38
|- - DenisIV   Цитата(rezident @ Dec 26 2008, 00:38) Den...   Dec 25 2008, 22:14
- - sergeeff   Бьярн Страустрап, 1995 г. Введение в язык С++. Гл...   Dec 26 2008, 14:29
- - sergeeff   Уважаемый гуру! 1 - она и в Африке 1. А что та...   Dec 26 2008, 20:02
|- - zltigo   Цитата(sergeeff @ Dec 26 2008, 23:02) Как...   Dec 26 2008, 23:10
- - rezident   А не пора ли уже прекратить "религиозные...   Dec 26 2008, 23:34
|- - zltigo   Цитата(rezident @ Dec 27 2008, 02:34) А н...   Dec 26 2008, 23:51
|- - rezident   Цитата(zltigo @ Dec 27 2008, 04:51) в слу...   Dec 27 2008, 22:18
|- - zltigo   Цитата(rezident @ Dec 28 2008, 01:18) В п...   Dec 27 2008, 22:38
|- - rezident   Цитата(zltigo @ Dec 28 2008, 03:38) После...   Dec 27 2008, 23:16
|- - zltigo   Цитата(rezident @ Dec 28 2008, 02:16) Про...   Dec 28 2008, 00:09
|- - rezident   Цитата(zltigo @ Dec 28 2008, 05:09) Значи...   Dec 28 2008, 01:23
|- - dch   Цитата(rezident @ Dec 28 2008, 04:23) ни ...   Dec 28 2008, 01:42
|- - zltigo   Цитата(rezident @ Dec 28 2008, 04:23) Спе...   Dec 28 2008, 08:37
|- - AHTOXA   Цитата(zltigo @ Dec 28 2008, 13:37) Если ...   Dec 28 2008, 08:55
- - sergeeff   Да надо плюнуть на все эти глупости, написать: Ко...   Dec 28 2008, 01:49
- - _Pasha   Думаю, что пишу в тему. История такая (WinAVR): Вс...   Dec 28 2008, 08:44
|- - zltigo   Цитата(_Pasha @ Dec 28 2008, 11:44) Т.е. ...   Dec 28 2008, 09:00
|- - Сергей Борщ   Цитата(_Pasha @ Dec 28 2008, 10:44) после...   Dec 28 2008, 11:56
|- - _Pasha   Цитата(Сергей Борщ @ Dec 28 2008, 15:56) ...   Dec 29 2008, 12:33
- - SysRq   Если main() вызывается единожды и до разрешения пр...   Dec 29 2008, 11:12
- - DenisIV   Подскажите ещё плиз: У меня на асме для оптимизаци...   Dec 30 2008, 20:19
- - DenisIV   Народ, это действительно засада или лыжи не едут.....   Jan 18 2009, 10:28
- - ARV   по идее в стандартной библиотеке Си предусмотрен м...   Jan 18 2009, 16:54


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

 


RSS Текстовая версия Сейчас: 30th June 2025 - 06:03
Рейтинг@Mail.ru


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