Универсальный кольцевой буфер
- Dimon49773
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Ср янв 18, 2012 16:33:58
Универсальный кольцевой буфер
Всем привет...
Возникла такая необходимость создать универсальный кольцевой буфер для хранения разнотипных данных на С.
Универсальность должна состоять в возможности записывать разнотипные данные и разное их количество.
Прошу помочь советами и исходниками если есть.
Спасибо
Возникла такая необходимость создать универсальный кольцевой буфер для хранения разнотипных данных на С.
Универсальность должна состоять в возможности записывать разнотипные данные и разное их количество.
Прошу помочь советами и исходниками если есть.
Спасибо
- Реклама
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Универсальный кольцевой буфер
... вопрос из разряда "сам не знаю, чего хочу"Dimon49773 писал(а):Возникла такая необходимость создать универсальный кольцевой буфер для хранения разнотипных данных на С. Универсальность должна состоять в возможности записывать разнотипные данные и разное их количество.
- Dimon49773
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Ср янв 18, 2012 16:33:58
Re: Универсальный кольцевой буфер
я в курсе...хотелось бы пример, а если нету так и скажи
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Универсальный кольцевой буфер
... пример чего???Dimon49773 писал(а):..хотелось бы пример
.. создаете структуру которая описывает тип и размер данных и при заполнении помещаете ее в кольцевой буфер ( как работает кольцевой буфер Вы ...в курсе)ChipKiller писал(а):.... в кольцевом буфере придется использовать указатели на структуры
- Dimon49773
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Ср янв 18, 2012 16:33:58
Re: Универсальный кольцевой буфер
создаю я структуру...
далее мне нужно эти данные разбить на байты, которые записывать в массив байтов
это одна из идей, но не знаю как реализовать более близко к аппаратному исполнению
далее мне нужно эти данные разбить на байты, которые записывать в массив байтов
это одна из идей, но не знаю как реализовать более близко к аппаратному исполнению
- Реклама
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: Универсальный кольцевой буфер
Это тот же вопрос или другой?
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Универсальный кольцевой буфер
Примерно так должно быть:Dimon49773 писал(а):далее мне нужно эти данные разбить на байты, которые записывать в массив байтов
Код: Выделить всё
struct
{
char a;
short b;
long c;
float d;
} my_struct;
char *byte_ptr;
byte_ptr = (char*) &my_struct;//получить адрес структуры
//далее разберем по байтам
for( i=0; i<sizeof(my_struct); i++ )
write_to_your_memory( *byte_ptr++ );- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: Универсальный кольцевой буфер
По стандарту Cuk8amk писал(а):sizeof() для вашего процессора компилятор должен считать в байтах, т.к. для разных архитектур может считаться и словами(например ARM). Ну можно и в явном виде указать константу в коде.
Код: Выделить всё
sizeof(char) == sizeof(unsigned char) == sizeof(signed char) == 1Т.е. по определению оператор sizeof возвращает размер в char-ах и не иначе. Будь то 8051 или какой-то хитрый DSP.
Другое дело, что char может быть 16-битным. Но тогда просто sizeof( 32_битное_целое ) == 2. И на работоспособность копирования *pointer_to_char++ по счётчику до sizeof() это не повлияет.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Универсальный кольцевой буфер
Сорри, действительно что-то попутал.avreal писал(а):По стандарту C


