Easyelectronics.ru

Электроника для всех
Текущее время: 25 фев 2018, 14:34

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 407 ]  На страницу Пред.  1 ... 13, 14, 15, 16, 17
Автор Сообщение
 Заголовок сообщения: Re: Унифицированная кросс-платформенная библиотека Си
СообщениеДобавлено: 02 ноя 2017, 12:28 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1033
Откуда: Германия
axill писал(а):
Спасибо
Эх, без препроцессора не обойтись) с++ даже современный против pragma и attribute бессилен

Для выровненной структуры sizeof вернет фактически занятый размер или такой же как для упакованных данных?

такой же как для упакованных данных. Чисто байты полей, "ничего лишнего" :) В этом то и засада

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Унифицированная кросс-платформенная библиотека Си
СообщениеДобавлено: 02 ноя 2017, 12:57 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 4859
упс
значит для неупаковынных данных будет соверешнно неверно работать прямое копирование через тот же memcpy?
точно засада

выходит надо или паковать или если структура не упакована то с ней работать надо исключительно на уровне полей?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Унифицированная кросс-платформенная библиотека Си
СообщениеДобавлено: 02 ноя 2017, 13:21 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 429
MasterAlexei писал(а):
такой же как для упакованных данных. Чисто байты полей, "ничего лишнего" :) В этом то и засада

С каких пор? Все sizeof правильно считает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Унифицированная кросс-платформенная библиотека Си
СообщениеДобавлено: 02 ноя 2017, 14:01 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1033
Откуда: Германия
Reflector писал(а):
MasterAlexei писал(а):
такой же как для упакованных данных. Чисто байты полей, "ничего лишнего" :) В этом то и засада

С каких пор? Все sizeof правильно считает.

А. Да. Правда ваша. Считает вроде как правильно именно занятые байты, с гапами (gaps).

axill писал(а):
упс
значит для неупаковынных данных будет соверешнно неверно работать прямое копирование через тот же memcpy?
точно засада

выходит надо или паковать или если структура не упакована то с ней работать надо исключительно на уровне полей?

Угумс.

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Унифицированная кросс-платформенная библиотека Си
СообщениеДобавлено: 02 ноя 2017, 14:40 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 760
Откуда: Китай, Пекин
про вот это вам известно?
да, код лапшеобразный... но работает ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Унифицированная кросс-платформенная библиотека Си
СообщениеДобавлено: 02 ноя 2017, 15:06 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 4859
cheblin писал(а):
про вот это вам известно?
да, код лапшеобразный... но работает ;)

это к чему? не увидел связи с обсуждением выше

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

НО. задавая в конкретной задаче размер хорошо бы автоматом проверить что все необходимые для задачи типы сообщений в этот размер влезают
нужно что то типа:

Код:
ASSERT(message_type, data_type1)
ASSERT(message_type, data_type2)
ASSERT(message_type, data_type3)


тогда компилятор сам убедится, что нужные сообщения влезают в зарезервированный массив
а все что больше данным устройством не обрабатывается и будет рубится на уровне интерфейса, что нормально


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Унифицированная кросс-платформенная библиотека Си
СообщениеДобавлено: 13 дек 2017, 03:28 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 4859
про библиотеку вопрос

писал-отлаживал кусок для обработки манчестера
столкнулся с тем, что у меня в одной из прошивок ADC с обработкой по прерываниям конфликтует с обработкой манчестера
часть сообщений пропускается, т.е. считывается с ошибками

как грамотнее этот конфликт разрешить?
наверно ан STM8 и STM32 это можно разрулить повысив приоритет прерываний использованных под манчестер
лучший ли это вариант?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 407 ]  На страницу Пред.  1 ... 13, 14, 15, 16, 17

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB