LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

И какие? Неизветен размер данных? Ну так можно не просто hex через запятую засунуть, а целую структуру с длинной и всем чем надо. Зато это будет работать на любой сишке даже начиная от суперкомпьютеров заканчивая микроконтроллерами для полива теплиц. А суть то одна и та же. Единственный минус нужно предварительно преобразовать бинарные файлы в нужный вид, но на уровне сборки кода это плюс одна команда конвертора который пишется на коленке за 2 минуты. Всего то нужно открыть файл читать побайтово и записывать в другой файл hex значения. Повторюсь единственный плюс #embed это избавление от вот этой подготовки, ну и всё =)

Я вот у себя беру файлы игры конвертирую их в стурктуры. Затем их всех я собираю в so библиотеку и затем в игре если мне нужен файл я делаю запрос просто по имени файла, сначала попытка загрузить просто с файловой системы, если нету по имени файла берётся структура с данными из so библиотеки, так же удобно на лету менять ресурсы просто подсовывая другую либу с ресурсами. В случае чего можно скомпилировать в обектник и слинковать статически. Вот если я буду использовать #embed едиснтвенный плюс для меня будет в том что вместо генерирования файлов для компиляции ресурсов в блоб, я буду генерировать файлы для компиляции ресурсов в блоб чуть по другому. Один хрен генерировать придётся.

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

Да, удобно. Да, прикольно. Да такое вообще 40 лет назад надо было сделать. Но то что оно появится так поздно окупится лет через 10. Когда уже будет писать на чём то выше c11 и это будет ок. А пока, а пока есть уже рабочая альтенратива с тупым include разве что надо фалы подготавливать, ну хоть не руками.

Я за #embed фичу , но пользоваться ею не буду. Ка и я за дженерики в c11 обоими руками, но пользоваться ими не пользуюсь. А порою они могли бы так сильно упростить жизнь. Но они упрощают в каком то одном месте где они хорошо заходят, а потом смотришь что ты себе принёс не просто фичу, а целый новый язык и такой нунафиг.

Этой фичей будут пользоваться наши внуки, им будет хорошо, всё для детей =)

Исходная версия LINUX-ORG-RU, :

И какие? Неизветен размер данных? Ну так можно не просто hex через запятую засунуть, а целую структуру с длинной и всем чем надо. Зато это будет работать на любой сишке даже начиная от суперкомпьютеров заканчивая микроконтроллерами для полива теплиц. А суть то одна и та же. Единственный минус нужно предварительно преобразовать бинарные файлы в нужный вид, но на уровне сборки кода это плюс одна команда конвертора который пишется на коленке за 2 минуты. Всего то нужно открыть файл читать побайтово и записывать в другой файл hex значения. Повторюсь единственный плюс #embed это избавление от вот этой подготовки, ну и всё =)