ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
597741 Топик полностью
Evgeny_CD, Архитектор (12.05.2015 18:59, просмотров: 141) ответил VL на Короче, маски или битовые поля?
DSL. Я уже много раз высказывал эту мысль. С битовыми полями надо работать в специальном DSL. Сделанным для этого. А потом этот файл компилить в С-исходник, в котором красивые операции будут разложены на элементарные операции, и будут сгенерированы все необходимые макросы, и, если надо, функции. * Вначале идет описание памяти, как именно битовые поля упакованы в слова, байты и проч. Может быть фиксированная упаковка (описание аппаратуры), так и произвольная, по усмотрению программера, или по усмотрению компилера. * в DSL заложен некий набор примитивов работы с полями. Но в реальности они могут не все использоваться. * пишется решение целевой задачи на DSL. * этап оптимизации DSL описание во внутреннее представление * компилится C код, где "красивые операции" разложены на переносимые между любыми компилерами операции. * есть экспортируемые макросы и функции. Т.е. если где-то в С коде надо будет обратиться с полю, то используются именно они. * в целом, можно сделать просмотр проекта, где будет DSL вкрапления внутри С кода, которые будут заменяться на С код "по месту". DSL надо делать на Tcl, Python, Perl и прочем - к чему душа лежит.