IFDEF和ENDIF的理解
"#ifdef 语句1
程序2
#endif“
可翻译为:如果宏定义了语句1则程序2。
作用:我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。
代码举例:新建define.cpp文件
#include “iostream.h”
int main()
{ #ifdef DEBUG
cout<< “Beginning execution of main()”;
#endif
return 0;
}
运行结果为:
Press any key to continue
改写代码如下:
#include “iostream.h”
#define DEBUG
int main()
{
#ifdef DEBUG
cout<< “Beginning execution of main()”;
#endif
return 0;
}
运行结果为:
Beginning execution of main()
Press any key to continue
更一般的情况是,#define语句是包含在一个特定的头文件中。
比如,新建头文件head.h,在文件中加入代码:
#define DEBUG
#ifdef DEBUG
#endif
而在define.cpp源文件中,代码修改如下:
#include “iostream.h”
#include “head.h”
#define DEBUG
int main()
{
#ifdef DEBUG
cout<< “Beginning execution of main()”;
#endif
return 0;
}
运行结果如下:
Beginning execution of main()
Press any key to continue
结论:
通过使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。
IFDEF和ENDIF的理解相关推荐
- vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译.这样做的好处是,经过处理后的代码,将会变的很精短. ...
- #ifdef #else #endif #fi #ifndef 的用法
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译.这样做的好处是,经过处理后的代码,将会变的很精短. ...
- #ifdef #else #endif 的用法
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译.这样做的好处是,经过处理后的代码,将会变的很精短. 关 ...
- 条件编译#ifdef 和#endif
转于http://blog.csdn.net/fly_yr/article/details/39964035 C++中 #ifdef 和#endif的作用 一般情况下,源程序中所有的行都参加编译.但是 ...
- uni-app条件编译:#ifdef #ifndef #endif
uni-app条件编译:#ifdef #ifndef #endif 语法: // #ifdef %PLATFORM% 这些代码只在该平台编译 // #endif #ifdef : if defined ...
- 【C语言】#ifdef和#endif条件编译
条件编译 条件编译 条件编译的格式 常见形式 defined运算符 #if的使用 #if defined的使用 #if和#elif命令 #ifdef和#ifndef命令 #if #endif的用法 # ...
- #ifdef,#else,#endif,#if用法详解(转)
#ifdef,#else,#endif,#if用法详解(转) 2011-04-22 10:11 预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理 ...
- #ifdef与#endif的作用及用法
一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是"条件编译".有时,希望当满足某条件时对一组 ...
- C++中 #ifdef 和#endif的用法与作用详解
一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是"条件编译".有时,希望当满足某条件时对一组 ...
最新文章
- mysql修改配置文件内存后无法启动_记一次Oracle实例在修改内存大小后无法启动的惊悚经历...
- Linux查看进程的线程信息
- setuid与capability
- 整数的幂计算(三种方法)最快O(logn)
- Gentoo 安装日记 06 (格式化和挂载系统)
- laravel 服务提供者介绍和使用
- vscode for mac怎样关闭自动更新
- html制作任务计划列表网页,添加计划任务的脚本
- 锐捷多网卡解决方案 与当前环境冲突(Code 2)
- 实现在Android 多点手势识别
- 技术分析是用来骗我的吗?
- php session auto_start,PHP出现 Warning: session_start()的解决方法
- 深度学习算法:AlphaGo 算法
- java 创建mdi窗体_.Net创建MDI窗体 | 学步园
- android 通话自动录音服务
- CentOS6 配置 yum 阿里源
- pandas pandas中stack()与unstack()函数用法
- 求解二分图的独立集问题
- 初到北上广打拼的外地人,生活状态是怎样的?
- ECCV2020解读:SNE-RoadSeg: Incorporating Surface Normal Information into Semantic Segmentation...