Код: Выделить всё
project/
├─ src/
├─ include/
Код: Выделить всё
project/
├─ include/
│ ├─ common/
│ │ ├─ language.h
│ │ ├─ settings.h
├─ src/
│ ├─ common/
│ │ ├─ settings.cpp
│ │ ├─ error.h
│ │ ├─ file.h
│ │ ├─ language.cpp
│ ├─ flow/
│ │ ├─ flow.cpp
│ │ ├─ flow.h
│ ├─ main.cpp
Код: Выделить всё
includeВ проекте есть только include/ и src/ в качестве каталогов включения (я указываю # включите «common/language.h», например)
Я нахожусь в процессе перехода от заголовков к модулям;
Сейчас я пытаюсь понять разделение общедоступных и Private и как это должно быть отражено в каталоге.
Можно сказать, что в приведенном выше примере один модуль будет project.common.
Однако, как следует ли это делать, поскольку часть его является общедоступной и закрытой.
Что касается заголовков, я просто включаю те заголовки, которые мне нужны (у меня нет большого файла commons.h файл).
С модулями это не так просто. Если я хочу иметь модуль project.common, который одновременно используется внешними приложениями и потребляется самим проектом.
Существуют ли согласованные соглашения или лучшие практики для создания элегантного проекта на основе модулей?
Изменить:
Под «частным» здесь я подразумеваю внутреннее использование проекта.
Например, с гипотетическим модулем project.common,
для использования самого проекта он будет экспортировать ошибку и файл< /code> - частные заголовки проекта,
при этом он должен предоставлять внешним приложениям только язык и настройки.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -c-modules
Мобильная версия