在 Linux 下,#ifdef 是 C/C++ 预处理器指令中的一种,用于条件编译
#ifdef 判断宏定义:#ifdef DEBUG
printf("Debug mode is enabled.\n");
#endif
#ifndef 判断宏未定义:#ifndef DEBUG
printf("Debug mode is disabled.\n");
#endif
#if defined() 组合多个宏定义:#if defined(DEBUG) && defined(LOG_LEVEL)
printf("Debug mode is enabled with log level: %d\n", LOG_LEVEL);
#endif
#else 和 #elif 控制不同分支的编译:#ifdef DEBUG
printf("Debug mode is enabled.\n");
#else
printf("Debug mode is disabled.\n");
#endif
#undef 取消宏定义:#define DEBUG
#undef DEBUG
#ifdef DEBUG
printf("Debug mode is enabled.\n");
#else
printf("Debug mode is disabled.\n");
#endif
#pragma once 避免头文件重复包含:#pragma once
// 头文件内容
#include 包含其他头文件:#include<stdio.h>
#include "my_header.h"
#define 定义常量或宏函数:#define PI 3.14159
#define SQUARE(x) ((x) * (x))
#error 和 #warning 生成编译错误或警告:#ifdef DEBUG
#error "Debug mode is not supported in this version."
#endif
#ifdef __GNUC__
#warning "Using GNU C compiler, some features may not be supported."
#endif
#line 改变源代码行号和文件名:#line 100 "my_source.c"
总之,在 Linux 下使用 #ifdef 可以帮助你根据不同的条件编译代码,提高代码的可维护性和可移植性。请确保在使用预处理器指令时遵循良好的编程实践,以便于代码的阅读和维护。