关于条件编译#ifdef、#ifndef .... #ifdef

#ifdef:它是if define 的简写

#ifndef:它是if not define 的简写

它们都是宏定义,确切的说是预处理功能三种(宏定义、文件包含、条件编译)中的一种----条件编译

预编译指令 #if #else ,#ifndef...的意义是条件编译,只对后面的代码起作用.

在头文件编写类如#ifndef 的语句只是为了防止该头文件被其他头文件多次包含.

在头文件编写类如#ifndef 的语句 只是对外部变量,类型的声明有作用.


常见的一些形式:

#ifdef  A

   code1

#endif

它的作用是:如果宏定义了A,则执行 code1


#ifndef A

#define A

    code 1

#else

    code 2

#endif

它的作用是:当A没有由#define定义过,则编译 code1 ,否则编译 code 2


#if 表达式

   code 1

#else

       code  2

#endif

它的作用是:当表达式值为真时,编译 code 1,否则则编译code  2。当没有程序段2时,直接是#if---#endif

你可能感兴趣的:(关于条件编译#ifdef、#ifndef .... #ifdef)