#if defined(__unix__) && defined(__GNUC__) /* ... */ #endif 大多数编译器会提供预定义宏,例如上例所使用的宏,它用来识别目标系统和编译器。 因此,在 Unix 系统中,通常预先定义好了宏 __unix__,而 GCC 编译器则会预先定义好了宏 __GNUC__。类似地,微软 Windows 平台上的 Visual C 编译器...
#endif 预处理器会依次计算条件表达式,直到发现结果非 0(也就是 true)的条件表达式。预处理器会保留对应组内的源代码,以供后续处理。如果找不到值为 true 的表达式,并且该条件式编译区域中包含 #else 命令,则保留 #else 命令组内的代码。组 1、组 2 等代码段,可以包含任意 C 源代码,也可以包含更多的...
C语言不支持在注释中嵌入注释,此时可以利用#if #endf,举个例子: #include<stdio.h>#include<iostream>#if(0)intmain() {char*b; b= (char*)"hello"; printf("%c\n", b[2]); system("pause");return0; }#endif//#if(1)intmain() { printf("hello world\n"); system("pause");return0; ...
#endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 一、文件包含 #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。标准C编译器至少支持八重嵌套包含。 预处理过程不检查在转换单元中是否已经包含了某个文件并阻止对它的多...
ifndef 名字 define 名字 函数,宏, 结构体 endif 这是自定义头文件
#endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 一、文件包含 #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。 标准C编译器至少支持八重嵌套包含。
在C语言编程中,#if和#endif这一对符号具有特殊含义,它们构成了条件编译指令。这些指令在程序正式编译之前起作用,通过预处理机制对代码进行处理。#if是一个条件判断的开始,其后跟着一个条件表达式,而#endif则标志着这一条件编译区域的结束。如果满足#if中定义的条件,编译器会选择性地编译紧跟其后的...
C语言 #if ~ #endif 1.一般格式#if 常量表达式程序段1;[#else程序段2;]#endif2.功能:当表达式为非0(“逻辑真”)时,编译程序段1,否则编译程序段2。[案例] 输入一个口令,根据需要设置条件编译,使之能将口令原码输出,或仅输出若干星号"*"。#define PASSWORD 0 /预置为输出星号/main(){ …… /条件...
C程序的编译预处理用于把每一条C语句用若干条机器指令来实现,生成目标程序。由于#define等编译预处理指令不是C语句,不能被编译程序翻译,需要在真正编译之前作一个预处理,解释完成编译预处理指令,从而把预处理指令转换成相应的C程序段,最终成为由纯粹C语句构成的程序,经编译最后得到目标代码。