0Pricing
C Academy · レッスン

条件付きコンパイル

プリプロセッサディレクティブを使って、条件に応じてコードをコンパイルする方法を学びます

「条件付きコンパイル」はCoddyKit上の無料C Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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時間対応のAIチューター)、C Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C Academyコースには全3レッスンが含まれています。

「条件付きコンパイル」で何を学びますか?

プリプロセッサディレクティブを使って、条件に応じてコードをコンパイルする方法を学びます ブラウザで直接実行するハンズオンコードでC Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「条件付きコンパイル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC Academyレッスンでコードを書いて実行できますか?

はい。すべてのC Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Cプリプロセッサの仕組み
  2. マクロとインライン関数
  3. 条件付きコンパイル
← C Academyに戻る