-
- енумят обычно небольшие множества, можно в енум загнать месяц или день недели, но как туда загнать число и год? - Nikolay801_(26.11.2014 11:21)
- Написать сеттеры и геттеры, принимающие аргументом структуру, и имя поля и устанавливающие/возвращающие нужный тип? Заодно и сжатие можно (см. ниже). - fk0123(25.11.2014 23:49, )
- цель то типизации - предупредить, а если при вызове геттера я ошибусь с параметрами, то откуда ошибка возьмется по полю битовой структуры? - VL(25.11.2014 23:58, )
- Геттер возвращает конкретный тип. Точно так же как элемент битовой структуры имел бы тип. В чём разница? Типы не должны позволять присвоения как попало. Без C++ задумка, понятно, бессмысленная. Так же и сеттер ожидает аргументом только конкретный fk0123(192 знак., 26.11.2014 00:34, )
- Я заметил - когда одни люди говорят - п...ц, другие не верят. VL(2683 знак., 26.11.2014 07:44, )
- Ничего не понял. В начале -- наличествует каша в голове, по-моему. Изучать такие исходники вредно и бесполезно. Напиши на русском языке -- что оно делает? Где используются tDate... (из исходника не видно, между прочим)? Зачем нужны EADDR_STATE? fk0123(56 знак., 27.11.2014 00:31, )
- Дело в том, что VL(661 знак., 27.11.2014 01:46, )
- а зачем столько дефайнов? offsetof() уже нелегален? - Mahagam(26.11.2014 09:15)
- 1)не мой проект. 2)между прочим, offset запрещен в MISRA - VL(26.11.2014 10:07, )
- Блеать, offset в мисре и запретили, чтоб ты не лазал грязными ручёнками в packed структуры. А ты вместо нормального offsetof изобрёл свой кривой (что мешало написать #define myoffsetof(s, f) (&((s *)0)->f)) и багоопасный вариант. Заставь дурака fk0123(8 знак., 27.11.2014 00:29, )
- Какой-то кривой макрос приведен. - Олдфаг(27.11.2014 08:46, )
- а думаешь родной offsetof не так определён?? - Mahagam(27.11.2014 00:36)
- Так определён очень часто. А какой смысл его определять иначе, например как у автора -- чтоб написать по-больше говнокода? - fk0123(27.11.2014 00:40, )
- забыл например. про sizeof помнят все, а оффсет и забывают. - Mahagam(27.11.2014 00:46)
- "Не знал и забыл". Автор пришел из ассемблера. - VL(27.11.2014 01:02, )
- забыл например. про sizeof помнят все, а оффсет и забывают. - Mahagam(27.11.2014 00:46)
- Кому родной, а кому и хз. Пачимута в стандарте оставили свободу для манёвра. - SciFi(27.11.2014 00:40)
- Так определён очень часто. А какой смысл его определять иначе, например как у автора -- чтоб написать по-больше говнокода? - fk0123(27.11.2014 00:40, )
- Вас кто-то принуждает пользоваться MISRA? Если нет, то можно её послать куда подальше... - Apтём(26.11.2014 10:28)
- В мисре много чего запрещено, в связи с чем она может идти лесом. Вот эта куча дефайнов в 100500 раз хуже, чем offsetof(), такшта мисра - это ещё и вредительство. - SciFi(26.11.2014 10:15)
- Обычно про идти лесом говорят те, кто саму мисру не читал, а только описание правил в чекерах видел - Alex B.(26.11.2014 11:11)
- Читал, мне не подходит, спасибо. - SciFi(26.11.2014 12:02)
- та кто ж спорит. - VL(26.11.2014 10:50, )
- Именно. Особенно если учесть, что в правой части вышеприведенных дефайнов не хватает скобок. - vmp(26.11.2014 10:32)
- Обычно про идти лесом говорят те, кто саму мисру не читал, а только описание правил в чекерах видел - Alex B.(26.11.2014 11:11)
- Блеать, offset в мисре и запретили, чтоб ты не лазал грязными ручёнками в packed структуры. А ты вместо нормального offsetof изобрёл свой кривой (что мешало написать #define myoffsetof(s, f) (&((s *)0)->f)) и багоопасный вариант. Заставь дурака fk0123(8 знак., 27.11.2014 00:29, )
- 1)не мой проект. 2)между прочим, offset запрещен в MISRA - VL(26.11.2014 10:07, )
- Ничего не понял. В начале -- наличествует каша в голове, по-моему. Изучать такие исходники вредно и бесполезно. Напиши на русском языке -- что оно делает? Где используются tDate... (из исходника не видно, между прочим)? Зачем нужны EADDR_STATE? fk0123(56 знак., 27.11.2014 00:31, )
- Я заметил - когда одни люди говорят - п...ц, другие не верят. VL(2683 знак., 26.11.2014 07:44, )
- Геттер возвращает конкретный тип. Точно так же как элемент битовой структуры имел бы тип. В чём разница? Типы не должны позволять присвоения как попало. Без C++ задумка, понятно, бессмысленная. Так же и сеттер ожидает аргументом только конкретный fk0123(192 знак., 26.11.2014 00:34, )
- цель то типизации - предупредить, а если при вызове геттера я ошибусь с параметрами, то откуда ошибка возьмется по полю битовой структуры? - VL(25.11.2014 23:58, )
- И какие проблемы? Берете и описываете как обычно, подставляя вместо int тип своего энума, лишь бы разрядности хватило. - vmp(25.11.2014 22:34)
- Попробую, но вроде как енум преобразуется к int, соответственно конфликт с количеством бит. - VL(25.11.2014 23:54, )
- Совсем мало памяти? :-) - SciFi(25.11.2014 20:42)
- да не смешно - VL(25.11.2014 20:50, )
- Ну раскройте нужду поподробнее, на примере. Может кому еще потребуется, а может кто поможет. - Олдфаг(25.11.2014 22:25, )
- Очень большой и сложный журнал статистики в EEPROM, места действительно нет. - VL(25.11.2014 23:28, )
- Разделить мух и котлет: отдельно 1) какой-то механизм записи с транзакциями "или всё, или ничего" обеспечивающий fault tolerance, 2) какой-либо механизм (де)сериализации представления C-структуры (C++-класса) в бинарный вид, возможно с 3) fk0123(141 знак., 25.11.2014 23:55, )
- если максимальные значения не кратны степени двойки, то перемножение еще будет компактнее - MegaJohn(25.11.2014 23:51)
- Кастомный кодогенератор на любом удобном скриптовом языке. Вы выписываете код работы с переменными задаваемой битовой длины и вручную размещаете их в памяти - кодогенератор сводит все к побитным операциям с машинным словом целевой архитектуры. Не Evgeny_CD(53 знак., 25.11.2014 23:33)
- Сделать волшебный магический прибор с большой зелёной кнопкой "Хочу!", исполняющий желания. Потом, главное, не напутать с желаниями... - fk0123(25.11.2014 23:52, )
- Вы предлагаете полёт в космос в то время, когда там врукопашную распределение EEPROM описано! Мне бы хотя известный макрос для определения смещения внедрить вместе с х-макросами. - VL(25.11.2014 23:50, )
- Очень большой и сложный журнал статистики в EEPROM, места действительно нет. - VL(25.11.2014 23:28, )
- Ну раскройте нужду поподробнее, на примере. Может кому еще потребуется, а может кто поможет. - Олдфаг(25.11.2014 22:25, )
- да не смешно - VL(25.11.2014 20:50, )