例如,可以使用条件编译让源代码适用于不同的目标系统,而不需要管理该源代码的各种不同版本。 条件编译区域以 #if、#ifdef 或 #ifndef 等命令作为开头,以 #endif 命令结尾。条件编译区域可以有任意数量的 #elif 命令,但最多一个 #else 命令。以 #if 开头的条件编译区域具有下面的格式: #if 表达式1 [组1] [...
#ifndef 标识符 程序段1#else程序段2#endif 只是第一行与第一种形式不同:将“ifdef”改为“ifndef”。它的作用是:若标识符未被定义则编译程序段1,否则编译程序段2。这种形式与第一种形式的作用相反。 以上两种形式用法差不多,根据需要任选一种,视方便而定。 还有一种形式,就是#if后面的是一个表达式,而不...
#if如果给定条件为真,则编译下面代码 #ifdef如果宏已经定义,则编译下面代码 #ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 一、文件包含 #include预处理指令的作用是在指令处展开被包含...
#ifdef如果宏已经定义,则编译下面代码 #ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 一、文件包含 #include预处理指令的作用是在指令处...
条件编译区域以 #if、#ifdef 或 #ifndef 等命令作为开头,以 #endif 命令结尾。条件编译区域可以有任意数量的 #elif 命令,但最多一个 #else 命令。以 #if 开头的条件编译区域具有下面的格式:#if 表达式1 [ 组1][#elif 表达式2 [ 组2]][#elif 表达式n [ 组n ]][#else [ 组n+1 ]]#endif 预...
#ifdef ABC printf("define ABC\n"); #endif #undef ABC #ifdef ABC printf("define ABC\n"); #endif return 0; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 演示案例② 条件编译的用途: ①防止头文件包含:系统头文件可以重复定义,因为系统文件中有防止头文件重复包含...
其中#else 部分也可以没有,即: #ifdef 程序段 1 #deni f 这里的“程序段”可以是语句组,也可以是命令行。这种条件编译可以提高 C 源程序的通用性。 如果一个 C 源程序在不同计算机系统上系统上运行,而不同的计算机又有一 定的差异。例如, 我们有一个数据类型,在 Windows 平台中,应该使用 long 类型表示...
#ifdef、#ifndef、#endif #ifdef用于判断某个宏是否定义,和#ifndef功能正好相反,二者仅支持判断单个宏是否已经定义 #endif用于终止#if预处理指令。 代码语言:javascript 复制 #ifdefABC// ... codes while definded ABC#elif(CODE_VERSION>2)// ... codes while CODE_VERSION > 2#else// ... remained cases...
#ifdef和#endif在C语言中的基本作用 #ifdef和#endif是C语言中的预处理指令,用于条件编译。#ifdef用于检查某个宏是否已经被定义,如果宏已定义,则编译#ifdef和#endif之间的代码;如果宏未定义,则跳过这段代码。#endif用于标记#ifdef条件编译块的结束。 简单的#ifdef和#endif配套使用代码示例 c #include <stdio....
在C语言中,`#ifdef`和`#endif`是一对预处理指令,用于条件编译。`#ifdef`用于判断某个宏是否已经被定义,如果已经被定义,则编译`#ifdef`和`#endif`之间的代码,否则跳过...