Библиотеки
Stati c увеличивают размер кода в вашем двоичном файле. Они всегда загружаются, и любая версия кода, с которой вы скомпилировали, является версией кода, который будет выполняться.
Dynami c библиотеки хранятся и управляются отдельно. И библиотеки Dynami c не являются обязательно загружаются - они обычно загружаются при первом вызове - и могут использоваться совместно компонентами, использующими одну и ту же библиотеку (несколько загрузок данных, одна загрузка кода).
Вы можете выбрать в зависимости от своих потребностей, следует ли использовать динамическое связывание c или stati c.
использовать связывание stati c : для связи с файлом .lib вам просто необходимо:
1. Добавьте путь к файлу заголовка в Дополнительные каталоги включения (свойство -> c / c ++ -> Общие -> Дополнительные каталоги включения). 2. Добавьте путь к файлу .lib в каталоги дополнительных библиотек (свойство -> компоновщик. -> Общие -> Дополнительные каталоги библиотеки) 3. Добавьте имя .lib-файла с его расширением в Дополнительные зависимости (свойство -> компоновщик -> ввод -> Дополнительные зависимости). )
Для получения более подробной информации, я предлагаю вам обратиться по ссылке: https://docs.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=vs-2019
Использовать Dynami c связь : Если у вас есть a.dll и a.lib, вы можете использовать статически загруженную dll.
1, добавить путь к файлу заголовка в дополнительные каталоги включения (свойство -> c / c ++ -> General -> дополнительные каталоги включения ) 2, добавьте путь к файлу .lib в каталоги дополнительных библиотек (свойство -> компоновщик -> общие сведения -> дополнительные каталоги библиотек) 3, добавьте имя файла .lib с его расширением в Дополнительные зависимости (свойство -> компоновщик -> ввод -> дополнительные зависимости) 4. Добавьте событие Post-Build в свой проект, чтобы добавить команду, которая копирует DLL в выходной каталог вашей сборки (Свойства> События сборки> Событие после сборки)
Для получения более подробной информации, я предлагаю вам обратиться к ссылке: https://docs.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-dynamic-link-library-cpp?view=vs-2019
Если DLL не имеет соответствующего файла .lib, то DLL может быть загружена только с помощью Dynami c загрузка. * 102 9 *
1, создайте указатель на функцию, тип данных указателя которой должен соответствовать вызывающей функции экспорта DLL. 2, через функцию Win32 API LoadLibrary (), явно вызывающую DLL, эта функция возвращает дескриптор экземпляра DLL. 3, посредством функции Win32 API GetProcAddress (), чтобы получить адрес функции вызываемой DLL, результат присваивается типу указателя пользовательской функции. 4, используйте указатель функции для вызова функции DLL. 5. После завершения последнего вызова функция DLL освобождается с помощью функции Win32 API FreeLibrary ().
Для более подробной информации, я предлагаю вам обратиться по ссылке: https://docs.microsoft.com/zh-cn/windows/win32/dlls/using-run-time-dynamic-linking