#define、#undef、Preprocessor Macros、if、#if、#ifdef、#ifndef

#define

简单的宏定义。

#define MAXTIME 1000
#define MAXTIME true
#define MAXTIME 

没有设置值的宏定义不能在if条件语句和#if预编译语句中使用,但是可以在#ifdef和#ifndef中使用。

#define CONDITION
#ifdef CONDITION 为true
#ifndef CONDITION 为false

#undef

取消宏定义。

#undef MAXTIME

Preprocessor Macros

Build Settings 下的 Preprocessor Macros 是设置全局宏定义的地方。在Preprocessor Macros下设置宏定义,如果没有设置值,默认值为true。

if

if不是预编译指令,只是判断语句。if判断语句中可以使用有值的宏。当宏的值不为false时,if判断语句成立,反之当宏的值为false时,if判断语句不成立。

#if

预编译条件判断指令,条件只能是Bool类型的值。当条件为true时,#if预编译条件判断成立,反之当条件为false时,#if预编译条件判断不成立。

#ifdef

预编译指令,只会判断宏是否被定义过,不会判断宏的值。也可以使用没有值的宏,当宏有被定义过,则#ifdef预编译成立,反之,当宏没有被定义过,则#ifdef预编译不成立。

#ifndef

预编译指令,只会判断宏是否被定义过,不会判断宏的值。也可以使用没有值的宏,当宏有被定义过,则#ifdef预编译不成立,反之,当宏没有被定义过,则#ifdef预编译成立。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容