美文网首页并行计算
#define、#undef、Preprocessor Macr

#define、#undef、Preprocessor Macr

作者: Billlin | 来源:发表于2018-01-18 13:06 被阅读53次

    #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预编译成立。

    相关文章

      网友评论

        本文标题:#define、#undef、Preprocessor Macr

        本文链接:https://www.haomeiwen.com/subject/ttgioxtx.html