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

 
 
 
Reply to this topicStart new topic
> WinAVR: Ручное изменение флагов оптимизации
MaxiMuz
сообщение Mar 27 2012, 16:12
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Где и как правильно можно включить или выключить тот или иной флаг ( -fauto-inc-dec, -fcprop-registers, -fif-conversion, -finline-small-functions, -fipa-pure-const, -fipa-reference, -fmerge-constants и др..) для каждого из режимов : -О0, -О1, -О2, -О3, -Оs ?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 27 2012, 16:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(MaxiMuz @ Mar 27 2012, 19:12) *
Где и как правильно можно включить или выключить тот или иной флаг ( -fauto-inc-dec, -fcprop-registers, -fif-conversion, -finline-small-functions, -fipa-pure-const, -fipa-reference, -fmerge-constants и др..) для каждого из режимов : -О0, -О1, -О2, -О3, -Оs ?

Смотря что используете: если AVRStudio то в свойствах проекта, если есть makefile - то его и править надо.
Go to the top of the page
 
+Quote Post
MaxiMuz
сообщение Mar 27 2012, 18:28
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Использую makefile. В каком именно месте его править ?

Сообщение отредактировал MaxiMuz - Mar 27 2012, 18:30
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 27 2012, 19:07
Сообщение #4


Гуру
******

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



QUOTE (MaxiMuz @ Mar 27 2012, 21:28) *
Использую makefile. В каком именно месте его править ?
В строках CFLAGS = и CFLAGS +=


--------------------
На любой вопрос даю любой ответ
"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
MaxiMuz
сообщение Mar 27 2012, 19:38
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Цитата(Сергей Борщ @ Mar 27 2012, 22:07) *
В строках CFLAGS = и CFLAGS +=

видимо я неправильно обьяснил. В CFLAGS задаются опции компилятору, среди которых есть: CFLAGS += -O$(OPT) , которая задает режим оптимизации. Как я это понимаю, каждому режиму оптимизации -O1, 2,3 или s соответствуют определенные ключи. В доках (C:\WinAVR-20100110\doc\gcc\HTML\gcc-4.3.2\gcc\) есть раздел 3.10 Options That Control Optimization в котором описываются эти ключи. Но мой уровень английского не позволяет бегло найти то место где говориться о их местораспположении, а может и вовсе там этого нет.
Вот хотелбы узнать может кто пробывал изменять параметры оптимизации ?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 27 2012, 20:38
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(MaxiMuz @ Mar 27 2012, 22:38) *
видимо я неправильно обьяснил. В CFLAGS задаются опции компилятору, среди которых есть: CFLAGS += -O$(OPT) , которая задает режим оптимизации. Как я это понимаю, каждому режиму оптимизации -O1, 2,3 или s соответствуют определенные ключи. В доках (C:\WinAVR-20100110\doc\gcc\HTML\gcc-4.3.2\gcc\) есть раздел 3.10 Options That Control Optimization в котором описываются эти ключи. Но мой уровень английского не позволяет бегло найти то место где говориться о их местораспположении, а может и вовсе там этого нет.
Вот хотелбы узнать может кто пробывал изменять параметры оптимизации ?


Там должна быть строчка вида

Цитата
OPT=1

Её и нужно менять на 2-3-s.
Go to the top of the page
 
+Quote Post
ARV
сообщение Mar 30 2012, 09:48
Сообщение #7


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(MaxiMuz @ Mar 27 2012, 23:38) *
видимо я неправильно обьяснил. В CFLAGS задаются опции компилятору, среди которых есть: CFLAGS += -O$(OPT) , которая задает режим оптимизации. Как я это понимаю, каждому режиму оптимизации -O1, 2,3 или s соответствуют определенные ключи. В доках (C:\WinAVR-20100110\doc\gcc\HTML\gcc-4.3.2\gcc\) есть раздел 3.10 Options That Control Optimization в котором описываются эти ключи. Но мой уровень английского не позволяет бегло найти то место где говориться о их местораспположении, а может и вовсе там этого нет.
Вот хотелбы узнать может кто пробывал изменять параметры оптимизации ?

допишите ниже CFLAGS += -O$(OPT) такую строчку: CFLAGS += -fno-auto-inc-dec и у вас соответствующая опция ОТКЛЮЧИТСЯ. т.е. no- перед флагом отключает его.


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post

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

 


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


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