Файлы lib и dll - это библиотеки, которые создаются обычным способом, со специальными переключателями для компилятора, чтобы указать, какой тип выходного файла вы хотите.
Файл lib - это статическая библиотека, которая однажды, во время компоновки, связывается с вашей основной программой cpp, чтобы получить автономный исполняемый файл, которому больше ничего не нужно запускать.DLL (Dynamic Link Library) связана с вашим основным приложением cpp каждый раз, когда это приложение загружается, таким образом, «динамически».Нет, пользователь не может получить исходный код вашего cpp из любого из этих двух видов библиотек.Файл lib аналогичен файлу Linux / Unix .a;dll аналогичен файлу .so Linux / Unix.
Ваш исходный код полностью безопасен, с одним исключением:
Любые имена глобальных переменных или функций, которые доступны вашему главному cppПриложение присутствует в файле lib и в dll в текстовом виде.Если кто-то исследует файл lib или dll, он может видеть эти глобальные имена и имена функций в виде простого текста: только сами имена - только имена и ничего более.
Ваши источники совершенно безопасны.Вы бы выдавали свой exe-файл плюс dll, если бы он был связан динамически;или просто exe, если бы он был связан статически, что было бы моим предпочтением на вашем месте.
Мне кажется, я правильно сказал это.Если нет, я уверен, что кто-то здесь на SO будет рад рассказать мне все об этом: -)
HTH