Вт авг 27, 2013 21:30:06
Вт авг 27, 2013 21:48:12
char FAT_INI(void){
short BytePerSec;
SD_READ(0);
BytePerSec = *((short *)&BUFFER[11]);
lcd_int(BytePerSec, 4, 0);
return BytePerSec;
}
Вт авг 27, 2013 21:50:44
drakon писал(а):Это в С++ можно где-угодно объявлять переменные, а в Си можно только так:
- Код:
char FAT_INI(void){
short BytePerSec;
SD_READ(0);
BytePerSec = *((short *)&BUFFER[11]);
lcd_int(BytePerSec, 4, 0);
return BytePerSec;
}
Вт авг 27, 2013 22:53:19
В языке Си все определения должны следовать перед операторами, составляющими тело функции. В языке Си++ это ограничение снято и определения могут находиться в любом месте программы.
Вт авг 27, 2013 23:07:14
drakon писал(а): если тип *.c поменять на *.cpp то объявлять можно где-угодно, когда-то проверял.
Ср авг 28, 2013 00:05:35
balmer писал(а):drakon писал(а): если тип *.c поменять на *.cpp то объявлять можно где-угодно, когда-то проверял.
Еще есть стандарт C99, там можно объявлять переменные где угодно.
Пт авг 30, 2013 11:32:15
Пт сен 06, 2013 20:48:06
Сб сен 07, 2013 19:21:21
Сб сен 07, 2013 22:30:22
Oxford писал(а):Занимаюсь еще. Реализовал сейчас длинные и короткие имена понимает. Сейчас маркую над навигацией. Работа с FAT будет немного иначе чем привыкли все.
Сб сен 07, 2013 23:35:35
Вс сен 29, 2013 21:19:26
Сб мар 28, 2015 23:48:48
Сб май 16, 2015 01:30:42
Пн май 25, 2015 00:51:23
Плохая идея. Индексация -- это куча накладных расходов, если только компилятор не с адовой сообразительностью (но тогда могут возникнуть другие проблемы). Чем меньше обращений, тем быстрее.Galizin писал(а):short BytePerSec = *((short *)&BUFFER[11]);
Попробуйте присвоить по 1 байту
- Код:
short BytePerSec;
((char*)&BytePerSec)[0] = BUFFER[11];
((char*)&BytePerSec)[1] = BUFFER[12];
Должно заработать
int8_t uint8_t
int16_t uint16_t
int32_t uint32_t
int64_t uint64_t
Ср янв 13, 2016 12:40:48
B@R5uk писал(а):
Вопрос к Oxford, а почему вы не используете вот эти замечательные типы данных:Зачастую это и короче, и понятнее, и надёжнее. Против старой привычки три новых достоинства.
- Код:
int8_t uint8_t
int16_t uint16_t
int32_t uint32_t
int64_t uint64_t
Вт мар 01, 2016 03:17:44
Чт дек 22, 2016 17:14:10
Сб дек 24, 2016 09:49:02
Вт дек 27, 2016 08:40:46