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

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

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

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

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

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

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

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

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

#if,#else,#endif 是如果常量表达式的值为真(非0),则对程序段1进行编译,否则对程序段2进行编译. #include"iostream.h" #define R 1 woid main(){ doulbe c,r,s; coutc; #if R r=3.14159*c*c; cout

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

这段宏定义意思是如果有全局的RefVoltage、DAC_VOLTAGE_Configuration(void)、DAC_SetVoltage(uint32_t DAC_Channel,uint16_t data)定义,就引入全局定义,如果没有就自己定义

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