knrt.net
当前位置:首页 >> 预编译#iFDEF #ElsE语句中是不是没有#ElsEiFDEF这... >>

预编译#iFDEF #ElsE语句中是不是没有#ElsEiFDEF这...

没有#elseifdef不过你可以#elif defined

你说的情况可改为: #ifdef MACRO1 /* 处理1 */ #elif defined MACRO2 /* 处理2 */ #else /* 处理3 */ #endif

为什么会有#ifdef else.endif等条件编译语句 高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。 高级语言所编制的程序不...

1、#define 是宏定义 1.1宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程...

FROM MSDN: #if DLEVEL == 0 #define STACK 0 #elif DLEVEL == 1 #define STACK 100 #elif DLEVEL > 5 display( debugptr ); #else #define STACK 200 #endif

这个做不到的 除非你if判断的 是一个常量。 #ifdef是条件编译,在编译前就已经定了 而if else是在运行时的。 所以 ifdef只能是跟的宏定义 if后面可以跟变量。 两个的功能和使用区域是不同的。

这种格式中,else 后面的逻辑语句好像不起作用吧,只要前面几种elseif都为0,那么就无条件执行else后面的语句,忽略之后的逻辑判断吧。 试试把else 改为elseif

可以的

4、逻辑预处理器指令: 4.1、逻辑#if指令:该指令原理与条件语句if相同,如果测试为真就执行后面的语句,如果为假则跳过后面的语句。该指令有两种用法,其一可以用#if指令测试某个符号以前是否用#define指令定义过,这是最常用的用法,其二可以...

前者是判断是否有宏定义,后者是判断值是否大于0或者表达式是否成立 #if xx //判断是否宏定义了(标号,变量,表达式), //如果有宏定义 #define xx 则从下一行开始执行不执行#else, //否则直接跳往#else执行 #else //如果没宏定义 #define xx...

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com