#if、#ifdef、#ifndef的用法和区别
2016-07-25 14:41
471 查看
下面的相关介绍来自网络,笔者整理。
首先,以# 开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作。
对比if语句,if、#if、#ifdef、#ifndef都是条件语句,其中
if是条件语句,在运行的过程中根据条件的值选择执行不同的语句。
#if是条件编译语句,在编译阶段执行,如果后面跟的条件成立,就编译对应的语句。
#ifdef是条件编译语句,在编译阶段执行,后面跟一个宏的名称,如果这个宏已经定义了,就编译对应的语句
#ifndef是条件编译语句,在编译阶段执行,后面跟一个宏的名称,如果这个宏没有定义,就编译对应的语句
首先,以# 开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作。
对比if语句,if、#if、#ifdef、#ifndef都是条件语句,其中
if是条件语句,在运行的过程中根据条件的值选择执行不同的语句。
#if是条件编译语句,在编译阶段执行,如果后面跟的条件成立,就编译对应的语句。
#ifdef是条件编译语句,在编译阶段执行,后面跟一个宏的名称,如果这个宏已经定义了,就编译对应的语句
#ifndef是条件编译语句,在编译阶段执行,后面跟一个宏的名称,如果这个宏没有定义,就编译对应的语句
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Linux C函数参考手册(PDF版)
- C# partial关键字说明
- 批处理中的预处理实现代码
- Lua中调用C++函数示例
- Lua教程(十七):C API简介
- 简单谈谈lua和c的交互
- Lua教程(一):在C++中嵌入Lua脚本
- C#用链式方法表达循环嵌套
- Lua教程(二):C++和Lua相互传递数据示例
- C#中的委托数据类型简介
- C++联合体转换成C#结构的实现方法
- C#编写的艺术字类实例代码
- C#实现打造气泡屏幕保护效果
- 基于C#技术实现身份证识别功能
- 举例讲解C#编程中委托的实例化使用