В Windows DLL представляет собой dynamic link library, который объединяет в себе набор программных функций. В этом примере bass.dll предоставляет функции и функции, связанные с обработкой аудио через этот файл (и любые файлы, от которых он зависит). Чтобы использовать эту функциональность, вам нужна ссылка в решении, так что Visual Studio может link it во время компиляции. Затем DLL обычно копируется в ваш выходной каталог при создании приложения.
Это все, что необходимо для правильной работы кода, остальное на самом деле является просто предпочтительным или условным. Некоторые люди предпочитают иметь все файлы, которые существуют в каталоге проекта в решении, так что Solution Explorer отражает файловую систему. Как правило, вы захотите, чтобы библиотеки вашего приложения зависели где-то в иерархии каталогов решений, чтобы все приложение было упаковано вместе (например, использование управления исходным кодом проще, например). Вы не захотите поместить эту библиотеку в каталог BIN или любой каталог, который генерирует Visual Studio, чтобы избежать случайных удалений. В любом случае, если ссылка является важной частью, файл, находящийся в проекте или решении, не требуется.
Как правило, вы захотите сохранить внешние библиотеки из своих исходных каталогов, поэтому я бы не рекомендовал эту структуру.Я предпочитаю использовать структуру, как это, но, опять же, все это предпочтение:
- Источник: Исходный код и файлы проекта
- библиотеки: библиотеки DLL
- Поддержка: Разное код или проекты, но не на самом деле часть приложения (возможно, сценарии развертывания)
хорошо, я понимаю, почему он находится в ссылке, но не почему он добавляется как файл в проекте. – Mat
Извините, я не понял вопрос правильно. Да, достаточно добавить его в качестве ссылки, поскольку это «добавлено как файл» не важно. И, конечно, он должен быть в той же папке, что и ваш исполняемый файл, позже, когда вы развертываете приложение. – Groo