В Windows DLL - это библиотека динамических ссылок , которая объединяет набор программных функций. В этом примере bass.dll предоставляет функции и возможности, относящиеся к обработке звука через этот файл (и любые файлы, от которых он зависит). Чтобы использовать эту функцию, вам нужна ссылка в решении, чтобы Visual Studio могла связать ее во время компиляции. Затем DLL обычно копируется в ваш выходной каталог при сборке приложения.
Это все, что необходимо для правильной работы кода, остальное - просто предпочтение или соглашение. Некоторые люди предпочитают иметь все файлы, которые существуют в каталоге проекта в решении, чтобы обозреватель решений отражал файловую систему. Как правило, вы захотите иметь библиотеки, от которых зависит ваше приложение, где-то в иерархии каталогов вашего решения, чтобы все приложение упаковывалось вместе (например, облегчая использование контроля исходного кода). Однако вы не захотите помещать эту библиотеку в каталог BIN или в любой каталог, сгенерированный Visual Studio, чтобы избежать случайного удаления. В любом случае наличие ссылки является важной частью, файл в проекте или решении не требуется.
Как правило, вы захотите не включать внешние библиотеки в ваши исходные каталоги, поэтому я бы не рекомендовал эту структуру. Я склонен использовать такую структуру, но, опять же, это все предпочтения:
- Источник: исходный код и файлы проекта
- Библиотеки: библиотеки DLL
- Поддержка: Разный код или проекты, но фактически не являются частью приложения (возможно, сценарии развертывания)