C语言条件编译 #

一、#ifdef和#ifndef #

1.1 #ifdef #

c
#ifdef DEBUG
    printf("调试模式\n");
#endif

1.2 #ifndef #

c
#ifndef HEADER_H
#define HEADER_H

#endif

二、#if和#elif #

2.1 基本用法 #

c
#if VERSION == 1
    #define FEATURE 1
#elif VERSION == 2
    #define FEATURE 2
#else
    #define FEATURE 0
#endif

2.2 defined运算符 #

c
#if defined(DEBUG) && !defined(RELEASE)
    printf("调试模式\n");
#endif

三、应用场景 #

3.1 头文件保护 #

c
#ifndef MYHEADER_H
#define MYHEADER_H

int add(int a, int b);

#endif

3.2 平台判断 #

c
#ifdef _WIN32
    #define PLATFORM "Windows"
#elif defined(__linux__)
    #define PLATFORM "Linux"
#elif defined(__APPLE__)
    #define PLATFORM "macOS"
#endif

3.3 调试代码 #

c
#ifdef DEBUG
    #define LOG(msg) printf("[DEBUG] %s\n", msg)
#else
    #define LOG(msg)
#endif

四、总结 #

指令 说明
#ifdef 如果定义
#ifndef 如果未定义
#if 条件判断
#elif 否则如果
#else 否则
#endif 结束条件

下一步,让我们学习文件包含!

最后更新:2026-03-26