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

 
 
 
Reply to this topicStart new topic
> WinAVR+AVRStudio - C99?, Вопрос собственно по С99
Kuzmi4
сообщение Aug 21 2007, 13:28
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Здравствуйте.

Работаю в связке - WinAVR(2006)+AVRStudio_v4.12b498(AVR Studio-4.12.498:GUI Version - 4, 12, 0, 491). Написал тут такую строчку в коде -

for (UCHAR i=0;i<10;i++) *p2data=0x00;
//ранее
#define UCHAR unsigned char

и значит оно мне выдаёт такие матюки -

../prj1.c:193: error: 'for' loop initial declaration used outside C99 mode

если вынести строку UCHAR i перед циклом - всё ок, мне конечно не мешет, но всё же - может кто нибудь посоветовать - что такое С99 и как с ним бороться?

Спасибо.
Go to the top of the page
 
+Quote Post
GDI
сообщение Aug 21 2007, 14:25
Сообщение #2


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

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



С-99 это стандарт.
Прикрепленные файлы
Прикрепленный файл  c99.pdf ( 1.35 мегабайт ) Кол-во скачиваний: 149
 


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
o-henry
сообщение Aug 21 2007, 14:36
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069



'С99' - это стандарт на язык 'C' от 1999г.
Ваш компилятор ругается на то, что объявление находится прямо в теле цикла, а такое допустимо только
в стандарте 'С99' (более ранние стандарты требуют объявления переменной перед циклом)
Т.е варианта два: либо объявить переменную ранее (что вы уже сделали), либо заставить компилятор работать в режиме совместимости со стандартом 'С99' .
Скорее всего надо просто указать какой-то ключ командной строки компилятору (но я в этом не копенгаген)
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 21 2007, 14:37
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Хм.. это конечно всё хорошо, но может кто нибудь уже сталкивался с такой проблемой - может как то её можно обойти - в сымсле использовать може другой компилер или ключик ?

2 o-henry - запостил позже чем посмотрел..... вот собственно и интересно как заставить его работаь в режиме совместимости с С99?

Сообщение отредактировал Kuzmi4 - Aug 21 2007, 14:38
Go to the top of the page
 
+Quote Post
aesok
сообщение Aug 21 2007, 14:40
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(Kuzmi4 @ Aug 21 2007, 18:37) *
Хм.. это конечно всё хорошо, но может кто нибудь уже сталкивался с такой проблемой - может как то её можно обойти - в сымсле использовать може другой компилер или ключик ?

2 o-henry - запостил позже чем посмотрел..... вот собственно и интересно как заставить его работаь в режиме совместимости с С99?

Код
# Compiler flag to set the C Standard level.
#     c89   = "ANSI" C
#     gnu89 = c89 plus GCC extensions
#     c99   = ISO C99 standard (not yet fully implemented)
#     gnu99 = c99 plus GCC extensions
CSTANDARD = -std=gnu99



Анатолий.
Go to the top of the page
 
+Quote Post

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

 


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


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