Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Инициализация переменной значением из файла


Автор: mahoro 22.7.2007, 20:25
Привет!

Есть такая задачка: у моей программы есть конфиг-файл, который не требуется изменять после компиляции программы. Поэтому хочется этот файлик как-нибудь вкомпилить в программу.

Способ, который мне приходит в голову не впечатляет своей красотой и аккуратностью:

в makefile определить размер файла, дописать что-нибудь вроде #define CFG_SIZE $size в какой-нибудь h-ник, где-нибудь в коде определить char cfg[CFG_SIZE] = "aabbccdd" и затем с помощью sed заменить последовательность aabbccdd на конфиг. А что-нибудь посимпатичнее придумать можно?

p.s. если это имеет значение, то С++, gcc, FreeBSD/Linux

Автор: Daevaorn 22.7.2007, 20:57
Цитата(mahoro @  22.7.2007,  21:25 Найти цитируемый пост)
А что-нибудь посимпатичнее придумать можно?

а почему не сделать что-то типа config.h, в котором задать конфигурацию и подключать его в нужном месте?

Автор: mahoro 22.7.2007, 23:30
Похоже, что так и придется сделать.
Но не очень хотелось бы это писать, т.к. и без того сложно получилось.

В конфиге - значения, которыми инициализируется N-ное количество структур. Генерировать из него .h - удовольствие сомнительное, поддерживать же конфиг изанчально в виде c-кода - ни за какие коврижки.

Автор: Daevaorn 23.7.2007, 09:02
Цитата(mahoro @  22.7.2007,  21:25 Найти цитируемый пост)
Есть такая задачка: у моей программы есть конфиг-файл, который не требуется изменять после компиляции программы. 

при таких уловия почти всегда оптимальней всего написать заголовочный файл.
Цитата(mahoro @  23.7.2007,  00:30 Найти цитируемый пост)
Но не очень хотелось бы это писать, т.к. и без того сложно получилось.

а чего сложного то?
Цитата(mahoro @  23.7.2007,  00:30 Найти цитируемый пост)
Генерировать из него .h - удовольствие сомнительное, поддерживать же конфиг изанчально в виде c-кода - ни за какие коврижки

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

Автор: JUmPER 23.7.2007, 13:37
а если его подключить как ресурс?

Цитата(mahoro @  22.7.2007,  23:30 Найти цитируемый пост)
поддерживать же конфиг изанчально в виде c-кода - ни за какие коврижки

а что там в нём такого особенного, что мешает это сделать? (кроме, конечно, религиозных убеждений)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)