0Pricing
C Academy · Урок

Условная компиляция

Научитесь использовать директивы препроцессора для условной компиляции кода

«Условная компиляция» — бесплатный урок C Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C Academy содержит 3 уроков всего.

Введение в условную компиляцию

Условная компиляция

Условная компиляция позволяет включать или исключать код на основе определённых условий.

В этом уроке Вы узнаете:

  • Как использовать #ifdef и #ifndef для условной компиляции.
  • Как использовать #if, #else и #endif для управления ходом компиляции.
  • Как условная компиляция помогает создавать платформонезависимый код.
Условная компиляция — иллюстрация 1

Использование #ifdef и #ifndef

Использование #ifdef и #ifndef

Директива #ifdef включает код только в том случае, если макрос определён.

Пример:

#ifdef DEBUG printf("Debug mode enabled\n"); #endif

Директива #ifndef работает противоположным образом: она включает код только в том случае, если макрос НЕ определён.

Пример: использование #ifdef

Пример: использование #ifdef

Эта программа демонстрирует включение отладочных сообщений только при определённом DEBUG.

#include <stdio.h>

#define DEBUG

int main() {
    #ifdef DEBUG
        printf("Debugging mode enabled\n");
    #endif
    printf("Program running...\n");
    return 0;
}

Использование #if, #else и #endif

Использование #if, #else и #endif

Директива #if позволяет выполнять условную компиляцию на основе выражений.

Пример:

#if VERSION >= 2 printf("Version 2 or higher\n"); #else printf("Old version\n"); #endif

Пример: использование #if и #else

Пример: использование #if и #else

Эта программа демонстрирует компиляцию в зависимости от версии с помощью #if и #else.

#include <stdio.h>

#define VERSION 2

int main() {
    #if VERSION >= 2
        printf("Version 2 or higher\n");
    #else
        printf("Old version\n");
    #endif
    return 0;
}

Использование #elif для нескольких условий

Использование #elif для нескольких условий

Директива #elif проверяет несколько условий.

Пример:

#if VERSION == 1 printf("Version 1\n"); #elif VERSION == 2 printf("Version 2\n"); #else printf("Unknown version\n"); #endif

Пример: использование #elif

Пример: использование #elif

Эта программа демонстрирует обработку нескольких условий компиляции с помощью #elif.

#include <stdio.h>

#define VERSION 2

int main() {
    #if VERSION == 1
        printf("Version 1\n");
    #elif VERSION == 2
        printf("Version 2\n");
    #else
        printf("Unknown version\n");
    #endif
    return 0;
}

Преимущества условной компиляции

Преимущества условной компиляции

Условная компиляция полезна для:

  • Создания платформонезависимого кода.
  • Включения возможностей отладки без изменения кода.
  • Компиляции разных версий программы.

Итоги

Итоги

В этом уроке Вы узнали:

  • Как использовать #ifdef и #ifndef для проверки определений макросов.
  • Как использовать #if, #else и #elif для условной компиляции.
  • О преимуществах условной компиляции при создании гибких программ.

На этом раздел «Директивы препроцессора и макросы» в C завершается!

Условная компиляция — иллюстрация 10

Часто задаваемые вопросы

Урок «Условная компиляция» бесплатный?

Да — полный текст урока «Условная компиляция» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C Academy, подпишись на CoddyKit PRO. Курс C Academy содержит 3 уроков всего.

Чему я научусь в уроке «Условная компиляция»?

Научитесь использовать директивы препроцессора для условной компиляции кода Ты практикуешь C Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C Academy?

Предыдущий опыт не требуется. C Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.

Сколько времени занимает урок «Условная компиляция»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C Academy?

Да. Каждый урок C Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Знакомство с препроцессором C
  2. Макросы и встроенные функции
  3. Условная компиляция
← Назад к C Academy