Справочник
Все понятия курса. Нажми на слово, и статья откроется рядом с ним.
Библиотека
Готовый код, который уже кто-то написал и скомпилировал. Такой код не запускают сам по себе, а прилинковывают к своей программе.Буфер кадра
Прямоугольная таблица пикселей, в которую GPU записывает цвета. То, что ты видишь на экране, — содержимое одного такого буфера.Генератор
Часть CMake, которая пишет файлы для сборки. Для каждого сборщика нужен свой генератор, потому что у каждого сборщика свой формат файлов.Главный цикл
Цикл while, в котором программа работает, пока открыто окно: на каждой итерации забирает события окна, а в движке ещё обновляет мир и рисует кадр.Двойная буферизация
Программа рисует кадр в невидимый задний буфер, а когда кадр готов, меняет задний буфер местами с передним. Так зритель никогда не видит недорисованный кадр.Драйвер видеокарты
Программа от производителя видеокарты (NVIDIA, AMD, Intel), через которую Windows и программы управляют видеокартой. В драйвере лежит готовый код всех функций OpenGL для этой видеокарты.Заголовочный файл
Файл с объявлениями функций и классов, который подключают через #include. Перед компиляцией текст этого файла целиком вставляется на место строки #include.Исполняемый файл
Готовая программа, которую запускает Windows, — файл с расширением .exe. Внутри — машинные команды, а не текст на C++.Исходный код
Текст программы, который пишет человек, например файл main.cpp. Процессор такой текст не понимает, поэтому код нужно собрать в программу.Код возврата
Число, которое программа отдаёт тому, кто её запустил, когда заканчивается. 0 — всё прошло хорошо, другое число — что-то пошло не так.Коммит
Сохранённый в Git снимок проекта: какие файлы были и что в них написано, с подписью, кто и зачем его сделал. К любому коммиту можно вернуться.Компилятор
Программа, которая переводит текст на C++ в машинный код — команды, которые понимает процессор. В Visual Studio компилятор называется MSVC.Компиляция
Перевод исходного кода на C++ в машинный код, который понимает процессор. Каждый .cpp-файл компилируется отдельно и даёт свой .obj.Контекст OpenGL
Структура в памяти драйвера: всё, что OpenGL помнит об одном окне. В ней настройки рисования, например цвет очистки, созданные данные и запись о том, куда рисовать. Пока контекст не создан и не сделан текущим, функции gl* работать не могут.Линкер
Программа, которая склеивает объектные файлы (.obj) и библиотеки (.lib) в один исполняемый файл (.exe) и связывает вызовы функций с их кодом.Линковка
Шаг сборки после компиляции: объектные файлы и библиотеки склеиваются в один .exe, а каждый вызов функции связывается с её кодом.Объектный файл
Результат компиляции одного .cpp: файл .obj с машинными командами. Это ещё не программа: в файле .obj есть ссылки на функции, код которых лежит в других файлах.Папка сборки
Папка, куда CMake складывает всё, что делает сам: файлы проекта, свои заметки и готовую программу. В командах папку сборки задаёт флаг -B.Предупреждение
Сообщение компилятора о месте в коде, которое написано правильно, но выглядит подозрительно. Сборку предупреждение не останавливает: программа всё равно получается.Препроцессор
Первая часть компиляции: выполняет строки, которые начинаются с #, и отдаёт компилятору получившийся текст. Сам C++ препроцессор не понимает, а только вставляет и заменяет текст.Пресет
Набор настроек CMake под одним именем, записанный в файл CMakePresets.json в папке проекта. Вместо длинной команды с флагами пишут имя: cmake --preset vs2026.Сборка
Превращение исходного кода в готовую программу. Это превращение выполняют компилятор и линкер, а CMake описывает, как именно собирать.Сборщик
Программа, которая по готовому списку дел запускает компилятор для каждого .cpp, а потом линкер. При повторной сборке сборщик компилирует только то, что изменилось.Событие окна
Запись о том, что случилось с окном: сдвинулась мышь, нажата клавиша, нажат крестик. Windows кладёт события в очередь программы, а программа забирает очередь сама.Стандарт языка
Документ, в котором описано, что должна делать каждая конструкция C++. По нему пишут компиляторы, поэтому один и тот же код работает в MSVC, GCC и Clang.Стандартная библиотека
Готовый код, который приходит вместе с компилятором: вывод на экран, строки, списки, математика. Подключается через #include, имена начинаются с std::.Точка входа
Функция, с которой начинается твой код. В C++ это функция main: при запуске программы код запуска из стандартной библиотеки готовит программу и вызывает main.Флаги компилятора
Дополнительные слова в команде запуска компилятора, которые меняют его работу: включить предупреждения, выбрать версию C++, ускорить программу.Цель сборки
То, что CMake должен собрать: программа или библиотека, у каждой есть имя и список файлов. Программу создаёт строка вроде add_executable(app main.cpp), библиотеку — add_library(glfw …).cl.exe
Компилятор MSVC: программа, которую запускает сборщик, чтобы перевести твой код в машинный. Внутри cl.exe две части: препроцессор и сам компилятор.CMake
Программа, которая по описанию проекта в CMakeLists.txt готовит его сборку — для Visual Studio, консоли или другой среды.Git
Система контроля версий: запоминает состояния проекта, чтобы к любому можно было вернуться.IDE
Среда разработки — программа, в которой есть всё для работы с кодом: редактор, сборка, запуск и отладчик. Наша IDE — Visual Studio 2026.link.exe
Линкер MSVC: программа, которую сборщик запускает после cl.exe. Линкер склеивает .obj-файлы и библиотеки в готовый .exe.PATH
Список папок, в которых Windows ищет программу, когда ты пишешь её имя в консоли. Нет папки в PATH — консоль ответит, что команда не найдена.Visual Studio 2026
Среда разработки от Microsoft: редактор, компилятор MSVC, сборка и отладчик в одной программе.Windows SDK
Набор файлов от Microsoft, через которые программа обращается к Windows: заголовки и библиотеки для окон, файлов, звука. Ставится вместе с Visual Studio.