一、条件编译的指令 #ifdef、#ifndef、#endif: #ifdef:如果某个宏已被定义,则编译其后的代码块。 #ifndef:如果某个宏未被定义,则编译其后的代码块。 #endif:用于结束一个条件编译块。 #if、#elif、#else: #if:后面跟一个常量表达式,如果表达式的值为非零,则编译其后的代码块。 #elif:相当于“else if”,...
条件编译是属于预处理指令,而预处理指令相当于是文本替换的作用。因此,条件编译是在预处理阶段,将满足条件的代码送到编译器进行编译。而条件语句是属于语句,是在编译后,程序运行时才开始执行判断。3.2 编译的代码量 条件编译只会将满足条件的部分代码送到编译器,而不满足条件的代码就会被清理掉。条件语句则是...
可以根据表达式的值或某个特定宏是否被定义来确定编译条件。 # 空指令#include包含一个源代码文件#define定义宏#undef取消已定义的宏#error停止编译并显示错误信息#if,如果给定条件为真,则编译下面代码#ifdef,如果宏已经定义,则编译下面代码#ifndef,如果宏没有定义,则编译下面代码#endif,终止#if指令#elif,综合#else...
#if如果给定条件为真,则编译下面代码 #ifdef如果宏已经定义,则编译下面代码 #ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 预处理指令 预处理指令是以#号开头的代码行。#号必须是该...
一个是预处理指令,一个是编译语句,执行的阶段不同;编译器所要处理的代码量也不一样。 第二种,#ifdef-#endif #include<stdio.h> #define AA 123; #ifdef AA #undef AA #endif int main(){ int AA = 33; printf("%d", AA); return 0; } 运行结果:33 #ifdef 是用来判断程序中是否已经定义了宏。
C语言中的条件编译主要使用预处理器指令来实现。下面是一些常用的预处理器指令: 1. `#if`:判断给定的条件是否为真,如果为真,则编译后面的代码,否则忽略。例如: ```c #if CONDITION //当CONDITION为真时,这段代码会被编译 #endif ``` 2. `#ifdef`:判断是否定义了某个宏,如果定义了,则编译后面的代码,否...
条件编译的概念 在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执行),这就是条件编译。 一、基本用法 1>如果条件1成立,那么编译器就会把#if与#elif之间的code1代码编译进去(注意:是编译进去,不是执行,很平时用的if-else是不一样的) ...
条件编译指令由两类语句组成,一类是#if、#else、#elif指令构成,分别类似于if、else、else if;还有一类是#ifdef、#ifndef、#elifdef、#elifndef 指令构成,最后用#endif指令作为结束标志。#if 类似于 if#elif 类似于 else if#else 类似于 else#endif 类似于 花括号 由#if、#ifdef 、#ifndef 指令开始...
条件编译是指预处理器根据条件编译指令,有条件地选择源程序代码中的一部分代码作为输出,送给编译器进行编译。主要是为了有选择性地执行相应操作,防止宏替换内容(如文件等)的重复包含。常见的条件编译指令如表 1 所示。 1、#if-#else-#endif 其调用格式为: ...