JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Debug vs Release — оптимизация, символы, поведение

    C++ SELF
    32 уровень,0 лекция
    Разбираем, чем реально отличаются сборки Debug и Release в C++: как оптимизации влияют на «наблюдаемость» в дебаггере, зачем нужны debug symbols, почему отладка релиза выглядит «странно», и как макрос NDEBUG выключает assert. В конце — практические шаблоны для debug-логов в стиле TASKBOX_TRACE и список типичных ошибок, из-за которых «в Debug работает, а в Release нет».
    Открыта
  • Out-of-source builds — build‑папка должна быть отдельной

    C++ SELF
    32 уровень,1 лекция
    Разбираем практику out-of-source сборки в проектах с CMake: почему артефакты компиляции должны жить отдельно от исходников, что обычно попадает в build/, чем опасна in-source сборка, как держать «чистый» корень проекта, зачем заводить несколько build‑каталогов ( build-debug/, build-release/), и какие ошибки чаще всего ломают сборку и нервы.
    Открыта
  • CMake Presets: воспроизводимые пресеты

    C++ SELF
    32 уровень,2 лекция
    Разбираем CMake Presets как способ сделать сборку проекта воспроизводимой: фиксируем «официальные» сценарии в CMakePresets.json, разделяем этапы configure/ build/ test, используем наследование preset’ов и переменные вроде CMAKE_CXX_STANDARD и CMAKE_BUILD_TYPE, а также разбираем типичные ошибки (общий binaryDir, забытый configure-шаг, абсолютные пути и нюансы генераторов).
    Открыта
  • Подключение зависимостей через FetchContent

    C++ SELF
    32 уровень,3 лекция
    Разбираем, как в CMake подключать внешние библиотеки воспроизводимо и «target-ориентированно» с помощью FetchContent: базовый паттерн FetchContent_Declare() → FetchContent_MakeAvailable(), дисциплина «сначала объявить — потом подключать», пример подключения fmt и линковка через target_link_libraries к fmt::fmt, а также фиксация версий через GIT_TAG (лучше commit hash) и вариант с архивами URL + URL_HASH.
    Открыта
  • Структура multi-target проекта: app + lib + tests

    C++ SELF
    32 уровень,4 лекция
    Разбираем, как организовать multi-target проект на CMake: выделяем общую логику в библиотеку ( lib/ budget_core), делаем тонкое приложение ( app) и отдельный исполняемый файл с проверками ( tests). На практике связываем цели через target_link_libraries, настраиваем публичные заголовки через target_include_directories с режимом PUBLIC, и обсуждаем типовые ошибки вроде зависимости tests от app и «вся логика в main()».
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush