Как связать / включить и использовать файлы в исполняемый файл в C - linux? - PullRequest
1 голос
/ 10 июля 2020

Я немного погуглил, но, похоже, не получил ничего похожего на то, что прошу.

Я создаю очень простой C скрипт, который создает кучу шаблонов файлы (ни один из них не является кодом, библиотеками или чем-то еще, это просто файлы txt), в зависимости от аргумента, переданного через консоль, способ, которым я собирался решить это, - просто использовать fopen и fwrite, в основном собирая строку файлов с помощью строка, заменяя только те, которые мне нужны, но я полагаю, что должен быть способ связать некоторые файлы в коде, чтобы я мог открывать и заменять только то, что нужно менять от случая к случаю.

Я полагаю, также создайте пару const char * file_text, и это поможет, но я хотел бы знать, возможно ли то, что я спрашиваю, если возникнет необходимость использовать что-то более сложное для работы, чем текст.

Проблема в том, что я не могу найти, как, чтобы прояснить, я хочу сделать что-то вроде этого на консоли: ./Gen.sh ProjectName

И иметь Gen. sh быть сел f, без необходимости хранить исходные шаблоны в одной папке.

1 Ответ

2 голосов
/ 10 июля 2020

Вы можете использовать компоновщик для такого внедрения

$ ld -r -b binary cat.png -o cat.o

В объектном файле будет три символа,

$ nm cat.o
_cat_start
_cat_end
_cat_size

Чтобы использовать их из C, объявите некоторые extern переменные

extern const char cat_start;
extern const char cat_end;
extern const int cat_size;

Затем вы можете связать сгенерированный объектный файл, то же самое можно использовать для текстовых файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...