-
- Коллеги, извините за скудость мысли, после нескольких попыток рубануть шашкой откатил назад и продолжаю править проект, сохраняя его в работоспособном состоянии. Есть вопрос. VL(664 знак., 22.05.2015 12:31, )
- unsigned short x : 5; - =AlexD=(22.05.2015 12:41)
- сработало, спасибо! - VL(22.05.2015 12:47, )
- Но против говнокода с битовой структурой из 5 байт похоже нет решения: unsigned short дает 6 байт, unsigned char дает 7 байт. Как интересно жЫть! VL(512 знак., 22.05.2015 13:01, )
- Ну ты как маленький =AlexD=(278 знак., 22.05.2015 13:16)
- Это понятно, но распределение полей будет не такое! Может не в этом случае, так в другом. Погибла идея плавного перехода - в этом коде обращение к полzv сделано через маски и сдвиги :( - VL(22.05.2015 13:22, )
- А я всё равно ещё раз поагитирую за своё предложение SciFi(403 знак., 22.05.2015 13:29)
- Я подумаю, слишком уж всё наворочено. Есть же еще и доступ, иногда пакетный, иногда не пакетный. - VL(22.05.2015 13:41, )
- Мда, как всё запущено. Вот что бывает, когда пишут ассемблерный код на сях... - SciFi(22.05.2015 14:03)
- Я подумаю, слишком уж всё наворочено. Есть же еще и доступ, иногда пакетный, иногда не пакетный. - VL(22.05.2015 13:41, )
- Я вообще не понимаю, что ты делаешь. Если код уже есть и работает - зачем ты туда полез? Всё равно эти поля после компиляции именно так и обрабатываются - сдвигами и масками, никакого выигрыша ты не получишь. Оставь уже и не трогай. =AlexD=(65 знак., 22.05.2015 13:28)
- Нужно добавлять свои поля в связи с развитием функциональности. Может в самом деле, поставить вообще вторую, свою EEPROM? - VL(22.05.2015 13:34, )
- А какое оно будет? Эти биты двумя способами не упаковать. - =AlexD=(22.05.2015 13:24)
- А я всё равно ещё раз поагитирую за своё предложение SciFi(403 знак., 22.05.2015 13:29)
- А я не очень понял, почему нужно именно 5 байт? В стране напряжёнка с EEPROM? - SciFi(22.05.2015 13:18)
- Это понятно, но распределение полей будет не такое! Может не в этом случае, так в другом. Погибла идея плавного перехода - в этом коде обращение к полzv сделано через маски и сдвиги :( - VL(22.05.2015 13:22, )
- А местами менять можно? SciFi(438 знак., 22.05.2015 13:09 - 13:17)
- Ну ты как маленький =AlexD=(278 знак., 22.05.2015 13:16)
- Но против говнокода с битовой структурой из 5 байт похоже нет решения: unsigned short дает 6 байт, unsigned char дает 7 байт. Как интересно жЫть! VL(512 знак., 22.05.2015 13:01, )
- сработало, спасибо! - VL(22.05.2015 12:47, )
- Напомните ещё раз, что за проц? - SciFi(22.05.2015 12:35)
- CortexM4 - VL(22.05.2015 12:39, )
- Ну здрассте. А как же там sizeof(struct) может быть меньше, чем 4? Ну совсем никак. - SciFi(22.05.2015 12:45)
- Оказывается может наследовать тип поля. - VL(22.05.2015 13:05, )
- Ну да, это я тормознул. - SciFi(22.05.2015 13:08)
- Оказывается может наследовать тип поля. - VL(22.05.2015 13:05, )
- Ну здрассте. А как же там sizeof(struct) может быть меньше, чем 4? Ну совсем никак. - SciFi(22.05.2015 12:45)
- CortexM4 - VL(22.05.2015 12:39, )
- unsigned short x : 5; - =AlexD=(22.05.2015 12:41)
- У вас такие классные девайсы продаются, а ты все херней маешься. Купляй девайс - и за настоящую работу! :)) --> - MBedder(13.05.2015 17:39, картинка)
- DSL. Я уже много раз высказывал эту мысль. Evgeny_CD(1134 знак., 12.05.2015 18:59)
- там --> - SciFi(13.05.2015 11:43, ссылка)
- Точнее, там -> Штука известная, однако спасибо! - Evgeny_CD(13.05.2015 12:04, ссылка)
- Любопытная мысль. А можно поподробней? В чём отличие от стандартных макросов? Если с примером самым малым - вообще бы хорошо. Если не жалко и не лениво. - Dingo(13.05.2015 05:23)
- Я пока не встречал готовых реализаций. Это идея, мне она кажется моей, но, полагаю, такое уже сделали. - Evgeny_CD(13.05.2015 08:05)
- Язык EIFFEL не знаком? там весь язык - компиляция в Си-исходник, а потом уже в исполняемый файл. Полностью объектный язык, как меня уверяли. Из фактов - один человек написал и развивал онлайн игрушку в ~2000..2009 г.г. Версия командной строки Dingo(17 знак., 13.05.2015 11:33)
- Спасибо! - Evgeny_CD(13.05.2015 12:12)
- Однко Eiffel весьма интересно устроен: Eiffel -> bytecode -> C. Т.е. народ освоил статическую компиляцию из своего байткода в С. - Evgeny_CD(13.05.2015 12:11, ссылка)
- Звучит интересно ->, но одно чудо мы уже изучали - Nimrod --> Пока серебряная пуля не нашлась. - Evgeny_CD(13.05.2015 11:56, ссылка, ссылка)
- У кейла есть компилятор Це++ для C166. Он тоже переваривает Це++ и выплёвывает Це, ну а дальше как обычно. Это всё от лени. - SciFi(13.05.2015 11:41)
- Язык EIFFEL не знаком? там весь язык - компиляция в Си-исходник, а потом уже в исполняемый файл. Полностью объектный язык, как меня уверяли. Из фактов - один человек написал и развивал онлайн игрушку в ~2000..2009 г.г. Версия командной строки Dingo(17 знак., 13.05.2015 11:33)
- Я пока не встречал готовых реализаций. Это идея, мне она кажется моей, но, полагаю, такое уже сделали. - Evgeny_CD(13.05.2015 08:05)
- я противник надстроек над уже существующим языком, увеличивается количество сущностей. Хотя макросы - та же надстройка. Но уже стар что-то менять. - VL(12.05.2015 21:47, )
- "Язык препроцессора" - это, конечно, тоже язык программирования, но даже brainfuck выглядит дружелюбнее. Evgeny_CD(78 знак., 12.05.2015 23:10)
- Учитывая срок, который эта тема тут обитает, там можно было на Си космический корабль замутить. Назови "DSL" или "горшок", но я тоже за повышение уровня абстракции. Средствами Си внутри МК тоже можно, и получится (та-дам!) сериализация. - SciFi(12.05.2015 23:16)
- Да сразу про бездну "невежества", чего уж там ;) вот так описаны 6 бит и такого много VL(1860 знак., 13.05.2015 08:26, )
- Какой-то писец, если честно. - Evgeny_CD(13.05.2015 11:59)
- Написано человеком, ненавидящим свое дело. - Petrovich(13.05.2015 10:58, )
- Трудоголиком, однако. Столько понаписать - это надо терпение иметь. - Bill(13.05.2015 11:06)
- Да, такая пространная реализация тернарного условного оператор говорит о том, что у него много свободного времени. - Petrovich(13.05.2015 11:11, )
- Просто пытался обеспечить себе пожизненную занятость. А вместо этого занял VL :-/ - SciFi(13.05.2015 11:21)
- Ув. VL неплохо начал. Реализация его предложения ввести еще и enum'ы неплохо бы запрятала концы в воду)) - Petrovich(13.05.2015 11:41, )
- Просто пытался обеспечить себе пожизненную занятость. А вместо этого занял VL :-/ - SciFi(13.05.2015 11:21)
- Да, такая пространная реализация тернарного условного оператор говорит о том, что у него много свободного времени. - Petrovich(13.05.2015 11:11, )
- Трудоголиком, однако. Столько понаписать - это надо терпение иметь. - Bill(13.05.2015 11:06)
- Да уж... А это что вообще означает? Bill(367 знак., 13.05.2015 09:26)
- Все так завуалировано! Данное выражение, на мой взгляд, Bill(352 знак., 13.05.2015 11:04)
- Угу, вопрос хороший - 1 или 7. - VL(13.05.2015 11:09, )
- Какой-то неявный смысл наличия всех нулей в двух группах трех бит. - VL(13.05.2015 09:31, )
- Не, это явный признак идиотизма. Поскольку операция & будет всегда с 1 )) Чел перепутал || и | - Petrovich(13.05.2015 11:07, )
- Все так завуалировано! Данное выражение, на мой взгляд, Bill(352 знак., 13.05.2015 11:04)
- Да сразу про бездну "невежества", чего уж там ;) вот так описаны 6 бит и такого много VL(1860 знак., 13.05.2015 08:26, )
- Учитывая срок, который эта тема тут обитает, там можно было на Си космический корабль замутить. Назови "DSL" или "горшок", но я тоже за повышение уровня абстракции. Средствами Си внутри МК тоже можно, и получится (та-дам!) сериализация. - SciFi(12.05.2015 23:16)
- К старости надо было подойти с чем-то чуть более продвинутым, чем Си. А теперь только и остаётся трахаться с этими убогими макросами и енумами :-) - SciFi(12.05.2015 22:39)
- Да как-то так, не цельная натура, знаю. Потерял с десяток лет на фигню, но вернулся в специальность. Не нужно меня за это пинать :) - VL(12.05.2015 23:03, )
- Посмотрите templarian -> простая и очень мощная штука - Evgeny_CD(13.05.2015 00:11, ссылка)
- Да как-то так, не цельная натура, знаю. Потерял с десяток лет на фигню, но вернулся в специальность. Не нужно меня за это пинать :) - VL(12.05.2015 23:03, )
- "Язык препроцессора" - это, конечно, тоже язык программирования, но даже brainfuck выглядит дружелюбнее. Evgeny_CD(78 знак., 12.05.2015 23:10)
- там --> - SciFi(13.05.2015 11:43, ссылка)
- БИТОВЫЕ ПОЛЯ! Я б, даже акцентировал... ПОЛЯНЫ! ))) - SERHIO(12.05.2015 17:54)
- Сериализация. - fk0(12.05.2015 10:42)
- Ни то, ни другое. Только рок-н-ролл! - SciFi(12.05.2015 09:50)
- А можно спросить знатока рок-н-ролла, можно ли типизировать наборы битовых полей enum'ами? - VL(12.05.2015 17:09, )
- Можно, но не всегда нужно. Скрипач(210 знак., 12.05.2015 17:25 - 17:29)
- Маньячу в систематиматизации проекта, уже бы и остановился, но, сцуко, есть проблемы. Если делать, то делать хорошо и надолго. - VL(12.05.2015 17:30, )
- А почему бы сразу не обозначить проблемы? - Олдфаг(12.05.2015 17:44, )
- Да проблемы обозначены раньше VL(365 знак., 12.05.2015 17:54, )
- С битовыми полями, как мне кажется, правильнее. С ними не будет возможности вставить где-то "магическое число", при необходимости что-то добавить/убавить битовые поля проще "перетасовать", что бы не попадать на границы байтов/слов, а при попадании AlexBi(142 знак., 12.05.2015 17:41)
- Маска не проблема, можно делать логические операции с несколькими полями, а компилятор заоптимизирует. А вот бы заенумить поля, чтоб неповадно было :) - VL(12.05.2015 17:47, )
- Или я не понял вопроса, или можно подсмотреть в SPL от ST Dingo(396 знак., 13.05.2015 05:18)
- Такой оптимизатор я еще не встречал, все делали цепочку сравнений. А заенумить мне удавалось, кажется ИАР для армов такое позволял, микрочип С для пик24 такое позволяет. - AlexBi(12.05.2015 18:05)
- Чтобы неповадно было, надо весь доступ к полям делать через функции доступа с проверкой правильности. И тогда мы естественным образом приходим к сериализации имени будённовца fk0. - SciFi(12.05.2015 18:04)
- Маска не проблема, можно делать логические операции с несколькими полями, а компилятор заоптимизирует. А вот бы заенумить поля, чтоб неповадно было :) - VL(12.05.2015 17:47, )
- Объектный подход рулит. По крайней мере инкапсуляция - стопудово. - Скрипач(12.05.2015 17:34)
- too late, что в переводе означает "поздняк метацца" - VL(12.05.2015 17:35, )
- А почему бы сразу не обозначить проблемы? - Олдфаг(12.05.2015 17:44, )
- Маньячу в систематиматизации проекта, уже бы и остановился, но, сцуко, есть проблемы. Если делать, то делать хорошо и надолго. - VL(12.05.2015 17:30, )
- Можно, но не всегда нужно. Скрипач(210 знак., 12.05.2015 17:25 - 17:29)
- А секс-наркотики? - Крок(12.05.2015 10:13)
- Хочешь сахару под санкции россвязьнадзора подвести? - Codavr(12.05.2015 10:19)
- Роскомндзор зпретил уку Д -> - KLIM83(12.05.2015 11:05, ссылка)
- Хочешь сахару под санкции россвязьнадзора подвести? - Codavr(12.05.2015 10:19)
- А можно спросить знатока рок-н-ролла, можно ли типизировать наборы битовых полей enum'ами? - VL(12.05.2015 17:09, )
- короче, битовые поля, конечно) - picarmer(12.05.2015 09:43)
- Гм. Маска это трафарет. Битовое поле это одна из дырок трафарета. - Олдфаг(12.05.2015 08:30, )
- Коллеги, извините за скудость мысли, после нескольких попыток рубануть шашкой откатил назад и продолжаю править проект, сохраняя его в работоспособном состоянии. Есть вопрос. VL(664 знак., 22.05.2015 12:31, )