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

 
 
9 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> WinAVR-20100110, Пишем отзывы сюда
SysRq
сообщение Feb 8 2011, 09:37
Сообщение #61


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(_Pasha @ Feb 8 2011, 10:48) *
Что же такого...
Глобальную за локальной не видать. А локальная не используется, вот и выкинул...
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 8 2011, 10:55
Сообщение #62


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(SysRq @ Feb 8 2011, 12:37) *
Глобальную за локальной не видать. А локальная не используется, вот и выкинул...

Кого? Он жеж глобальную по отношению к циклу и выкинул.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 8 2011, 11:01
Сообщение #63


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(_Pasha @ Feb 8 2011, 15:55) *
Кого? Он жеж глобальную по отношению к циклу и выкинул.

Если объявить
Код
int i=0, j=0;

, то тут понятно, что объявлено две переменные. А если сделать то же самое в инициализации цикла for:
Код
for (int i=0, j=0;...)

, то догадаться уже сложнее sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 8 2011, 11:13
Сообщение #64


неотягощённый злом
******

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



Цитата(SysRq @ Feb 8 2011, 12:37) *
Глобальную за локальной не видать. А локальная не используется, вот и выкинул...

Точняк!
И даже больше локальная переменная внутри тела цикла не 32-битная, а 8-ми.
Так вот всё будет однозначно:
Код
        uint32_t data;
        uint8_t msk;
        
        for (msk=0, data=0; msk<24; msk++)


Цитата(_Pasha @ Feb 8 2011, 13:55) *
Кого? Он жеж глобальную по отношению к циклу и выкинул.

А вас что, он не предупреждал:
Код
main.c:28: warning: 'data' may be used uninitialized in this function


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 8 2011, 11:19
Сообщение #65


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(demiurg_spb @ Feb 8 2011, 14:13) *
А вас что, он не предупреждал:

В том и дело, что если инициализировать и в начале и в цикле, предупреждения не будет, но овнокод тот же.

Цитата(AHTOXA @ Feb 8 2011, 14:01) *
, то догадаться уже сложнее sm.gif

Вот! Компилер живет своей жизнью, и надо его попросить сделать правильный код. Может, денег хочет?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 8 2011, 11:41
Сообщение #66


неотягощённый злом
******

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



Да ладно! Он честно ругнулся - вы игнорировали.
Ход его рассуждений тоже понять можно, раз уж программисту неважна эта переменная (её значеие),
то я забью на неё и связанное с ней биг-болтsm.gif

Цитата(_Pasha @ Feb 8 2011, 14:19) *
В том и дело, что если инициализировать и в начале и в цикле, предупреждения не будет, но овнокод тот же.

В том и дело что в цикле Вы инитите уже другую локальную переменную с тем же именем.
По идее warning по отношению ко внешней относительно цикла переменной должен бы был остаться... Похоже на багу в этой версии avr-gcc 4.3.3.

Проверил на 4.4.3 - уже пофиксили - даёт warning.

Так-что не надо катить бочку на святое! :-)


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 8 2011, 11:41
Сообщение #67


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(demiurg_spb @ Feb 8 2011, 14:32) *
тоже понять можно, раз уж программисту неважна эта переменная (её значеие),
то я забью на неё и связанное с ней биг-болтsm.gif

Дык низзя жеж понять - магическая запятая - и все пропало ©!!! Давайте тогда ваще все выкинем(б), даже если(!) есть обращения к volatile - и... короче,ето багофича, как ея правильно сформулировать?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 8 2011, 11:48
Сообщение #68


неотягощённый злом
******

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



что сказать, переходите на версию посвежее ...
повторюсь - на avr-gcc 4.4.3 всё пучком.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 8 2011, 11:50
Сообщение #69


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(demiurg_spb @ Feb 8 2011, 14:48) *
на avr-gcc 4.4.3 всё пучком.

Это клёновская?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 8 2011, 11:57
Сообщение #70


неотягощённый злом
******

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



Цитата(_Pasha @ Feb 8 2011, 14:50) *
Это клёновская?


Нет это атмеловская.
http://www.atmel.com/dyn/resources/prod_do...2.win32.x86.exe

К ней правда какой то древний binutils прикручен (не весь древний, что характерно).
Я собрал для себя из 2 - компилятор и avr-libc от avr-toolchain-installer а всё остально от WinAVR.

Клён уже скачет впереди планеты всей на gcc-4.6.0


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 8 2011, 12:05
Сообщение #71


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(_Pasha @ Feb 8 2011, 16:19) *
Вот! Компилер живет своей жизнью, и надо его попросить сделать правильный код. Может, денег хочет?

Дык, кто ж не хочет? sm.gif
На самом деле, я тоже не сообразил, что там новая локальная переменная образуетсяsm.gif Теперь бум знать.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 17 2011, 18:56
Сообщение #72


неотягощённый злом
******

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



Цитата(demiurg_spb @ Feb 8 2011, 14:57) *
..это атмеловская.
http://www.atmel.com/dyn/resources/prod_do...2.win32.x86.exe

К ней правда какой то древний binutils прикручен (не весь древний, что характерно).
Ошибся я с выводами в прошлый раз, это не binutils в тулчейне старый а coreutils.

Судя по всему, они используют этот раритет:
http://gnuwin32.sourceforge.net/packages/coreutils.htm

А есть гораздо (на 6 лет) свежее:
http://ftp.gnu.org/gnu/coreutils/


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ARV
сообщение Mar 23 2011, 18:30
Сообщение #73


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

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



как заставить компилятор помещать в elf-файл полные пути к исходникам для отладки "по коду"? по умолчанию туда суются относительные пути от корня проекта и в итоге при определенном стечении обстоятельств отладчик "находит" не те исходники...
отладочная информация формата dwarf-2


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Mar 31 2011, 09:31
Сообщение #74


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Спасите мудрым советом, ибо не знаю куда копать sad.gif

Несколько проектов собираются правильно и без ошибок с любым уровнем оптимизации (s, 0-3) на всех доступных мне компах (включая виртуальные; WinAVR везде одинаковый), но не собираются с оптимизацией по размеру (s) на основном рабочем ноуте, хотя раньше собирались (на нём и написаны были, собственно).

Makefile стандартный, созданный софтинкой MFile.

Ошибка:
Цитата
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright © 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Compiling C: main.c
avr-gcc -c -mmcu=atmega8535 -I. -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -ffunction-sections -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o
In file included from main.h:10:
c:/winavr/lib/gcc/../../avr/include/avr/interrupt.h:38:20: error: calling fdopen: No such file or directory
In file included from main.h:12:
c:/winavr/lib/gcc/../../avr/include/avr/pgmspace.h:82:20: error: calling fdopen: No such file or directory
In file included from main.h:13:
c:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:38:20: error: calling fdopen: No such file or directory
make.exe: *** [main.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00

Куда копать, что и где могло поломаться? Переустановка WinAVR ничего не дала.
WinAVR действительно установлен в C:\WinAVR, пути к файлам правильные.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 1 2011, 09:03
Сообщение #75


Гуру
******

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



QUOTE (SysRq @ Mar 31 2011, 12:31) *
WinAVR действительно установлен в C:\WinAVR, пути к файлам правильные.
Возможно на других компах установлена другая версия программ из тех, что лежат в WinAVR/utils и путь к этой другой версии прописан в path первым. Переименуйте эту папку, если компиляция будет продолжать проходить - ищите, откуда берутся эти утилиты и копируйте их на "больной" комп. Или наоборот - найдите, откуда эти утилиты берутся на "больном" и уберите этот путь из path.


--------------------
На любой вопрос даю любой ответ
"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

9 страниц V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:28
Рейтинг@Mail.ru


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