以#开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作
#if 条件语句
程序段1 //如果条件语句成立,那么就编译程序段1
#endif
程序段2//如果条件不语句成立,那么就编译程序段2
#ifndef x//先测试x是否被宏定义过
#define 程序段1 //如果x没有被宏定义过,那么就编译程序段1
#endif
程序段2 //如果x已经定义过了则编译程序段2的语句,“忽视”程序段1。
#ifdef x //先测试x是否被宏定义过
程序段1 //如果x被宏定义过,那么就编译程序段1
#endif
程序段2 //如果x没有被定义过则编译程序段2的语句,“忽视”程序段1。
相关文章
- C++中str1::function和bind
- oracle数据库中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥区别?
- 路径中 斜杠/和反斜杠\ 的区别
- ClickHouse 中`MergeTree` 和 `ReplicatedMergeTree`表引擎区别-主要区别总结
- Java中HashMap和HashTable的区别
- Mybatis中的${}和#{}区别
- Django中,模型(models),视图(views)和模板的区别和应用
- Java泛型中<? extends E>和<? super E>的区别
- Java泛型中类型限定<T extends 数据类型>和 通配符<? extentds 数据类型>的区别
- C/C++ Sleep函数和wait函数的区别