|
|
  |
Настройки MFile в WinAVR |
|
|
|
Jul 5 2011, 12:42
|

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

|
В WinAVR-20080610 в сборщике MFile имеются следущие настройки: Код C standard level: c89 gnu89 c99 gnu99 Кто может разьяснить что это и влияет както это на сформированный код программы ?
|
|
|
|
|
Jul 6 2011, 09:31
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Я бы на с99 всё же остановился. Цитата(MaxiMuz @ Jul 5 2011, 16:42)  влияет как-то это на сформированный код программы? никак не влияет, если компилируется без ошибок. Цитата WinAVR-20080610 обновитесь уже наконец  За три года avr-gcc сильно шагнул вперёд.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Jul 6 2011, 10:58
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (MrYuran @ Jul 6 2011, 19:04)  Действительно, зачем менять то, что работает (предсказуемо) Да нет, скорее связано с проблемами, которые ощутил в далеком 2008 году при испытании версии 20080601 вроде бы. Программа, великолепно работающая после упомянутого компилятора от 2007 года, перестала работать на новом. С тех пор как-то не думал об upgrade  Хотя 2010 версию можно и испытать. Сравнить. Кстати, я ошибаюсь, или после 2010 года новых версий не появлялось?
--------------------
Выбор.
|
|
|
|
|
Jul 6 2011, 12:59
|
Местный
  
Группа: Свой
Сообщений: 289
Регистрация: 6-12-05
Пользователь №: 11 864

|
Цитата Да нет, скорее связано с проблемами, которые ощутил в далеком 2008 году при испытании версии 20080601 вроде бы. Программа, великолепно работающая после упомянутого компилятора от 2007 года, перестала работать на новом. Я тоже столкнулся с анологичной проблемой. Причем еще новые компиляторы делали код по размеру больше
|
|
|
|
|
Jul 6 2011, 13:01
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(MaxiMuz @ Jul 6 2011, 16:31)  Т.е. как я понял эти настройки не должны влиять на включение в код лишних команд , к примеру которые сохраняют неиспользуемые вообще в программе регистры при вызове функций и обработчиков прерываний .. Конкретно указанные - нет. Они влияют только на допустимость синтаксических конструкций. Например, объявление переменной внутри скобок for() в изначальном стандарте си не предусмотрено. Как и некоторые другие моменты.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Jul 7 2011, 05:19
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(haker_fox @ Jul 6 2011, 14:58)  Да нет, скорее связано с проблемами, которые ощутил в далеком 2008 году при испытании версии 20080601 вроде бы. Программа, великолепно работающая после упомянутого компилятора от 2007 года, перестала работать на новом. С тех пор как-то не думал об upgrade  Хотя 2010 версию можно и испытать. Сравнить. Кстати, я ошибаюсь, или после 2010 года новых версий не появлялось? Да WinAVR как-то заглох. На 2010 (в нём avr-gcc-4.3.3) точно всё работает (более чем на 10 проектах разной степени сложности). А вообще сейчас сижу на avr-gcc 4.4.3 из атмеловкого тулчейна (правда я заменил в нём coreutils на более свежий, т.к. идущий с ним древний до ужаса). Сижу громко сказано, с атмелом практически завязал, arm-cm3 рулит. Цитата(-SANYCH- @ Jul 6 2011, 16:59)  Я тоже столкнулся с аналогичной проблемой. Причем еще новые компиляторы делали код по размеру больше  Неправда ваша. Вы просто не включаете новые способы оптимизации.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Jul 7 2011, 08:18
|
Местный
  
Группа: Свой
Сообщений: 289
Регистрация: 6-12-05
Пользователь №: 11 864

|
Цитата Неправда ваша. Вы просто не включаете новые способы оптимизации. Приведите пример как их включить.
|
|
|
|
|
Jul 7 2011, 08:32
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(-SANYCH- @ Jul 7 2011, 12:18)  Приведите пример как их включить. Не помню, где взял, скорее всего на родине...
gcc.pdf ( 2.11 мегабайт )
Кол-во скачиваний: 6403 GCC Command Options Ну и вообще много интересного. CODE See Section 3.10 [Options that Control Optimization], page 65. -falign-functions=n -falign-jumps=n -falign-labels=n -falign-loops=n -fbounds-check -fmudflap -fmudflapth -fmudflapir -fbranch-probabilities -fprofile-values -fvpt -fbranch-target-load-optimize -fbranch-target-load-optimize2 -fbtr-bb-exclusive -fcaller-saves -fcprop-registers -fcse-follow-jumps -fcse-skip-blocks -fcx-limited-range -fdata-sections -fdelayed-branch -fdelete-null-pointer-checks -fearly-inlining -fexpensive-optimizations -ffast-math -ffloat-store -fforce-addr -ffunction-sections -fgcse -fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload -floop-optimize -fcrossjumping -fif-conversion -fif-conversion2 -finline-functions -finline-functions-called-once -finline-limit=n -fkeep-inline-functions -fkeep-static-consts -fmerge-constants -fmerge-all-constants -fmodulo-sched -fno-branch-count-reg -fno-default-inline -fno-defer-pop -floop-optimize2 -fmove-loop-invariants -fno-function-cse -fno-guess-branch-probability -fno-inline -fno-math-errno -fno-peephole -fno-peephole2 -funsafe-math-optimizations -funsafe-loop-optimizations -ffinite-math-only -fno-trapping-math -fno-zero-initialized-in-bss -fomit-frame-pointer -foptimize-register-move -foptimize-sibling-calls -fprefetch-loop-arrays -fprofile-generate -fprofile-use -fregmove -frename-registers -freorder-blocks -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -frerun-loop-opt -frounding-math -fschedule-insns -fschedule-insns2 -fno-sched-interblock -fno-sched-spec -fsched-spec-load -fsched-spec-load-dangerous -fsched-stalled-insns=n -fsched-stalled-insns-dep=n -fsched2-use-superblocks -fsched2-use-traces -freschedule-modulo-scheduled-loops -fsignaling-nans -fsingle-precision-constant -fstack-protector -fstack-protector-all -fstrength-reduce -fstrict-aliasing -ftracer -fthread-jumps -funroll-all-loops -funroll-loops -fpeel-loops -fsplit-ivs-in-unroller -funswitch-loops -fvariable-expansion-in-unroller -ftree-pre -ftree-ccp -ftree-dce -ftree-loop-optimize -ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts -ftree-dominator-opts -ftree-dse -ftree-copyrename -ftree-sink -ftree-ch -ftree-sra -ftree-ter -ftree-lrs -ftree-fre -ftree-vectorize -ftree-vect-loop-version -ftree-salias -fweb -ftree-copy-prop -ftree-store-ccp -ftree-store-copy-prop -fwhole-program --param name=value -O -O0 -O1 -O2 -O3 -Os
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Jul 7 2011, 17:00
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (MaxiMuz @ Jul 7 2011, 17:31)  а подскажете ключик который отключает Statrup ? А подумать и понять, что: -startup к процессу компиляции каких-либо файлов отношения не имеет и не может иметь. Посему таких ключиков у компилятора не может быть даже теоретически. -без какого либо startup нельзя получить что-либо исполняемое, только объектники/библиотеки. -не нужен startup, так не линкуйте его. Вы теперь в каждой теме http://electronix.ru/forum/index.php?showtopic=91858&hl= будете это спрашивать и НЕ читать ответы, например, XVR?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|