Вопросы к Поиску с Алисой
Разница между статическими и динамическими библиотеками в CMake заключается в способе включения кода в программу. iamsorush.com deeperic.wordpress.com
Статическая библиотека — это набор объектных файлов, которые объединены в один архив. iamsorush.com Код из такой библиотеки включается в исполняемый файл во время компиляции и становится его частью. deeperic.wordpress.com К преимуществам статических библиотек относят быстрое выполнение и отсутствие внешних зависимостей во время работы. iamsorush.com Однако у них есть и недостатки: больший размер исполняемого файла и необходимость перекомпиляции при обновлении библиотеки. iamsorush.com
Динамическая библиотека — это общая библиотека, которая загружается во время работы. iamsorush.com Код из неё не включается в исполняемый файл, а сам файл содержит только ссылки на динамическую библиотеку. iamsorush.com К плюсам динамических библиотек относят меньший размер исполняемого файла и простоту обновлений (достаточно заменить файл с расширением .so или .dll). iamsorush.com Однако у них есть и минус: небольшие затраты во время работы из-за динамической связи. iamsorush.com
На Windows статическая библиотека заканчивается расширением .lib, динамическая — расширением .dll. deeperic.wordpress.com На Linux статическая библиотека заканчивается расширением .a, динамическая — расширением .so. sciencesoftcode.wordpress.com deeperic.wordpress.com