LINUX.ORG.RU

Через инклуды можно (в т.ч. через рrecompiled header). Можно в других .c файлах наобъявлять свой текст и потом залинковать

SZT ★★★★★
()

Перед компиляцией генерируешь исходники из своих данных. Сгенерированные исходники используешь как часть проекта.

Детали реализации зависят от того, как построен процесс компиляции. К примеру, если это Makefile, то добавить шаг с генерацией исходников. А в CMake есть file для мелких вещей и execute_process.

Norgat ★★★★★
()
Ответ на: комментарий от anonymous

Что значит «значения байтов»? Речь о тексте, который не может быть вставлен в фигурные скобки.

Deleted
()
Ответ на: комментарий от deadNightTiger

Ну как небольшие? Отлично обрабатывается N-метровый mp3 :)

slackwarrior ★★★★★
()
Ответ на: комментарий от Deleted

Что значит «значения байтов»? Речь о тексте

Текст вида «0x12, 0x2A, 0xCD... » Обрабатываешь .txt xdd и становится монопенисуально

slackwarrior ★★★★★
()
Ответ на: комментарий от Deleted

например

"str1",
"str2",
"str3"

для const char *[]

или 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX для char []

const char *data[ ] = {
    #include "SomeCompileTimeText.inc"
};

int main( )
{
    for( auto a: data ) {
        std::cout << a << "\n";
    }
    return 0;
}

«SomeCompileTimeText.inc»:

"1",
"2",
"3",
"4"

anonymous
()
Ответ на: комментарий от Deleted

потому что этот файл может быть нагенерен НЕ xxd, а например скриптом, который пойдет и возьмет значения с базы/железки/юзера. На связи снова ваш Кэп.

anonymous
()
Ответ на: комментарий от Deleted

За шкафом. Если тебя не устраивает код, который оно генерит — имена другие ннада :) А так вообще — ты спрашивал «Каким образом может сработать первое?», а не зачем оно нужно.

slackwarrior ★★★★★
()
Ответ на: комментарий от Deleted

Каким образом может сработать первое?

Самым стандартным способом - препроцессор просто склеит соответствующим образом файлы.

andreyu ★★★★★
()

через скрипты линкера для binutils ld, например.

запихни в отдельную секцию, а потом читай через elfutils или подобное.

хотя да, костыль. #include «file.xpm» проще.

anonymous
()

говорят objcopy подходит

а вообще, старый добрый bin2obj это когда-то дела

ЗЫ: во, mix_mix даже дал ссыль на статтю, не заметил

FeyFre ★★★★
()
Последнее исправление: FeyFre (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.