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

 
 
> IAR 3.10C, Цена доверия
KSN
сообщение Dec 9 2005, 08:23
Сообщение #1


Местный
***

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



Вот небольшой фрагмент кода:
ktmp=0;
PultFlag=4;
for(pult=0;pult<3;pult++)
ktmp|= ((PultFlag&(0x01<<pult)))?(1<<pult):0;
ktmp=0;
PultFlag=5;
for(pult=0;pult<3;pult++)
ktmp|= ((PultFlag>>pult)&0x01)?(1<<pult):0;
Если уровень оптимизации по скорости минимален или вооще нет, то все хорошо, но как только делаю уровень оптимизации High, то в первом цикле перестает вычисляться ktmp. Поэтому вопрос: в какой степени компилятор наплевательски относится к написанному коду при оптимизациях? Как с этим обстоят дела в более поздних версиях компилятора. Я так полагаю, что не стоит полагаться на оптимизацию компилятора, надо самому грамотно писать программу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KSN
сообщение Dec 9 2005, 11:47
Сообщение #2


Местный
***

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



[quote name='IgorKossak' post='70214' date='Dec 9 2005, 17:27']
Код сам по себе ошибочный.
Компилятор старый.
Зато какое пафосное название темы!
[/quote]
Оговорюсь: фрагмент кода, который в программе в данной последовательности не используется. Здесь приведен фрагмент, который я написал, чтобы поглядеть в отладчике что же происходит. Слова благодарности dxp, который на двух пальцах объяснил, как все это воспринимает компилятор(что собственно и хотелось услышать). Версия компилятора - абсолютно не при чем, если она не содержит в себе ошибок. И менее всего я уделял названию темы...

[quote name='KRS' date='Dec 9 2005, 17:09' post='70203']
[/quote]
Хороший компилер, многие сложные врыажения там где умножение есть лучше компилит.
Но вот часть оптимизации похуже стала например если константа или указатель (константный) много раз испольуется 3.20D его в регистрах хранил а 4.11 какждый раз загружает.


Я вот решил пока на 3.20D остаться.
[/quote]
Где добыть можно 3.20D?
Go to the top of the page
 
+Quote Post



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

 


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


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