Движок с нуля
Справочник

Библиотека

Готовый код, который уже кто-то написал и скомпилировал. Такой код не запускают сам по себе, а прилинковывают к своей программе.

Программу запускают, а библиотеку подключают: она лежит в файле .lib или .dll, и программа берёт из неё готовые функции.

Стандартная библиотека приходит вместе с компилятором. Остальные берут отдельно: например, GLFW.

Внутри статической библиотеки (.lib) уже не исходный код, а скомпилированные объектные файлы (.obj). Компилировать эти файлы заново не нужно: линкеру остаётся приклеить нужные части к твоей программе.

Библиотеки бывают двух видов:

  • статическая (.lib) — её код вклеивается в программу при сборке, и отдельный файл потом не нужен;
  • динамическая (.dll) — лежит рядом с программой и подгружается при запуске.

Библиотеку можно собрать и самому: например, движок — как библиотеку, а игру — как программу, которая её использует. В CMake и то и другое — цель.