|
2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 62
|
||||||
Конфигурация исполняемой программы15.05.2025, 15:04. Показов 9926. Ответов 64
Добрый день, уважаемое сообщество.
Поделитесь, пожалуйста, тем как вы организуете получение и хранение конфигурационной информации. Я здесь сознательно выделил два вопроса. Один вопрос, как хранить конфигурационную информацию на уровне файлов. И второй вопрос, как хранить конфигурационную информацию на уровне исполняемого кода. На уровне файлов я использую два подхода. В одном подходе, я храню конфигурационную инфу в файле main.h и инклюжу его внутри main.cpp. Во втором подходе, я храню инфу в файле config.ini и как-то считываю этот файл. Решение о том, какую конфигурационную инфу, куда закидывать, принимаю исходя из того, как часто приходится её менять в ходе разработки и тестирования кода. Если часто меняю - то в config.ini, если редко - то в main.h. Это делается, чтобы не делать всякий раз пересборку проекта, если поменял путь к какому-то входному или выходному файлу. Поэтому задаюсь вопросом, а почему бы всю инфу не хранить в config.ini? И отвечаю себе так, вот мне недавно книжку Агнера Фога посоветовали, так он всю конфиг инфу в main.h закидывает и не парится. Т.е. наоборот никаких config.ini он не использует. Вот пример его кода из файла main.h main.h
Второй вопрос, как организовать хранение конфига на уровне исполняемого кода. Я тут использую несколько способов. 1. Использую namespace. Это такой способ шифрануть глобальные константы внутрь namespace, чтобы избежать конфликтов. 2. Использую статические поля структур/классов. Глобальные константы не использовал, т.к. начитался, что это зло. А смотрю код у этого же Фога и там сплошь и рядом глобальные константы без угрызений совести, и даже без namespace. Поэтому я засомневался в своих взглядах на глобальные константы. А есть ещё такие конфигурационные данные, которые на момент запуска программы не известны, т.е. их не засунешь ни в config.ini, ни в main.h, но они вычисляются в начале программы и не меняются в течение всей программы, например, время запуска программы. Сейчас я их храню в namespace, но уже сомневаюсь в правильности такого подхода. Поэтому резюмирую второй вопрос, как на уровне переменных вы храните конфигурационную информацию? Заранее спасибо за ответы.
0
|
||||||
| 15.05.2025, 15:04 | |
|
Ответы с готовыми решениями:
64
Превращение строки в название исполняемой функции ""D:\"" не является внутренней или внешней командой, исполняемой программой или пакетным файлом |
| 15.05.2025, 23:06 | |
|
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 15.05.2025, 23:10 | |||
![]() Кликните здесь для просмотра всего текста
0
|
|||
|
2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 62
|
|||
| 15.05.2025, 23:14 [ТС] | |||
|
Попробую на англофоруме почитать, может там ещё чего насоветуют. Добавлено через 1 минуту
0
|
|||
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
|
| 15.05.2025, 23:28 | |
|
filt_file(5).mp4
Так удобно. Я так делаю. Вы все умные, я не очень. Вы то знаете как программы писать.
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
|
|
| 15.05.2025, 23:33 | |
|
SmallEvil,
Давай я у тебя учиться буду....
0
|
|
| 15.05.2025, 23:33 | |
|
bat не является внутренней или внешней командой, исполняемой программой или пакетным файлом параллельная конфигурация Конфигурация компьютера Конфигурация железа Параллельная конфигурация неправильна Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|