|
2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 62
|
||||||
Конфигурация исполняемой программы15.05.2025, 15:04. Показов 9873. Ответов 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,214
|
|
| 15.05.2025, 23:28 | |
|
filt_file(5).mp4
Так удобно. Я так делаю. Вы все умные, я не очень. Вы то знаете как программы писать.
0
|
|
|
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,214
|
|
| 15.05.2025, 23:33 | |
|
SmallEvil,
Давай я у тебя учиться буду....
0
|
|
| 15.05.2025, 23:33 | |
|
bat не является внутренней или внешней командой, исполняемой программой или пакетным файлом параллельная конфигурация Конфигурация компьютера Конфигурация железа Параллельная конфигурация неправильна Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|