Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Инициализация переменной значением из файла, ищу кошерный способ :) 
:(
    Опции темы
mahoro
Дата 22.7.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 1.7.2007

Репутация: нет
Всего: нет



Привет!

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

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

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

p.s. если это имеет значение, то С++, gcc, FreeBSD/Linux
PM MAIL   Вверх
Daevaorn
Дата 22.7.2007, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



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

а почему не сделать что-то типа config.h, в котором задать конфигурацию и подключать его в нужном месте?
PM MAIL WWW   Вверх
mahoro
Дата 22.7.2007, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 1.7.2007

Репутация: нет
Всего: нет



Похоже, что так и придется сделать.
Но не очень хотелось бы это писать, т.к. и без того сложно получилось.

В конфиге - значения, которыми инициализируется N-ное количество структур. Генерировать из него .h - удовольствие сомнительное, поддерживать же конфиг изанчально в виде c-кода - ни за какие коврижки.
PM MAIL   Вверх
Daevaorn
Дата 23.7.2007, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



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

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

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

ну всё кочнено зависит от конкретной задачи, но кажется что ты ищешь проблемы там, где их нет.
PM MAIL WWW   Вверх
JUmPER
Дата 23.7.2007, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 22.8.2006

Репутация: 1
Всего: 3



а если его подключить как ресурс?

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

а что там в нём такого особенного, что мешает это сделать? (кроме, конечно, религиозных убеждений)
--------------------
Существует 10 типов людей: те, которые понимают двоичную систему, и те, которые ее не понимаютСуществует 10 типов людей: те, кто понимают троичную систему, те, кто ее не понимают и те, кто путает ее с двоичной
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0695 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.