Рекомендация: папка src / include или include рядом с папкой src

0

Какая наилучшая или наиболее часто используемая практика для структуры папок проекта:

project |-- src |-- include

или

project |--src
              |--include

т.е. есть ли папка include в исходной папке или как рядом друг с другом?

редактировать:

Этот тип похож: отдельные папки "включить" и "src" для кода уровня приложения? , но ответы на самом деле не удовлетворяют.

  • 0
    Я считаю, что второй является более распространенным, где include содержит только внешне видимые заголовочные файлы (например, те, которые распространяются вместе с библиотекой). Другие заголовочные файлы находятся внутри src вместе с остальной частью исходного кода.
  • 0
    Я всегда помещаю включаемые файлы в один каталог с источником, к которому они относятся, и использую папки для разделения разных частей приложения (обычно это отдельные библиотеки DLL). Но, конечно, размещение видимых извне заголовочных файлов в директории include на том же уровне имеет большой смысл (в большинстве случаев мне это не нужно).
Показать ещё 3 комментария
Теги:
folder
project

3 ответа

2

Я предпочитаю иметь две папки на одном уровне. Вы должны выбрать свой собственный путь.

Я предпочитаю отдельно отделять источники от включений для make файла и, чтобы получить больше видимости в моем проекте.

Project |--src/
        |--include/
        |--others/
        |--obj/
        |--Makefile
2

Если бы я создал библиотеку, я бы сделал структуру каталогов следующим образом:

project/
       project_name/
       src/

Где project_name имеет project_name файлы.
Однако для проекта на уровне приложений это было бы моим выбором:

project/
    src/

src/ then будет иметь все файлы.h или.c.
Короче говоря, не используйте папку для файлов заголовков, если вы не пишете библиотеку, потому что библиотека должна быть более организованной, а также упрощает установку для библиотеки.

1

По моему опыту, наличие каталога include рядом с каталогом src чаще встречается в библиотеках с открытым исходным кодом.

Обратите внимание, что в некоторых библиотеках используется другое подразделение: они делят библиотеку на модули (например, ModA, ModB т.д.), А затем имеют каталог include и src для каждого из модулей, то есть ModA/include, ModA/src, ModB/include и ModB/src. См. Например, библиотеку PCL.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню