ifdef endif是什么意思啊 ??

时间:2023-01-12 12:25:00
这两个单词是什么意思啊 ???有什么用啊??C语言中是做什么用的啊??多谢!!麻烦举例说明!!~

19 个解决方案

#1


就跟if  else语句效果一样啊。

#2


在学习宏定义的时候用到过,然后就再也没用过了……大致意思是控制头文件某些内容的范围吧?几乎没怎么用过,回答不了了……
等高手回答

#3


条件指示符#ifndef检查预编译常量在前面是否已经被定义.如果在前面没有被定义,
则条件指示符的值为真,于是从#inndef到#endif之间的所有语句都被包含进来进行处理.
相反,如果#inndef指示符的值为假,则它与#endif指示符之间的行将被忽略.

#4


作用1:防止重编译,功能与#pragma once一致 
作用2:条件开关,只要定义一个宏就可以搞定不同版本了 

其他作用:就是简单的宏替换或者达到开关的作用 

#5


一般用法是这样的:
这里可以定义如下:
#define XXXXX

#ifdef XXXXX
这里做一些操作,这些操作只有在XXXX已经被define的情况下才会执行到。一般还可能有else,如
#else
做另一些操作。。。
#endif

还有一些如ifndef什么的,可以找些资料看一下。

#6


一般用于防止头文件重复引用
#ifndef xxx
#define xxx

#endif

#7



#include "iostream.h"
int main()
{
#ifdef DEBUG      
cout<< "Beginning execution of main()";
#endif      
return 0;
}
//运行结果为:Press any key to continue


//改写代码如下:
#include "iostream.h"
#define DEBUG
int main()
{
#ifdef DEBUG      
cout<< "Beginning execution of main()";
#endif       
return 0;
}
//运行结果为:Beginning execution of main()
//          Press any key to continue


通过使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码

#8


预编译指令,编译器根据这些指令选择、跳过、忽略一些编译内容

#ifdef WIN32
  .... codes for win32
#else
 ... codes for other
#endif

当编译上面代码前出现 #define WIN32,那么就是编译  .... codes for win32代码,否则编译 ... codes for other代码

#9


ls讲的 very good!

#10


了解了,效果跟IF ELSE差不多

#11


short135讲的很清楚啊、
值得学习

#12


哦,条件编译

#13


学习了,不错的知识!

#14


学习。。。

#15


学习了。。。。

#16


呵呵 还是要实践

#17


学习了,和#if ……#endif语句有点区别 我一般用这种方法

#18


恩,确实,以前看过,不过忘记了,现在又重温一遍,很好

#19


该回复于2012-06-21 11:20:18被版主删除

#1


就跟if  else语句效果一样啊。

#2


在学习宏定义的时候用到过,然后就再也没用过了……大致意思是控制头文件某些内容的范围吧?几乎没怎么用过,回答不了了……
等高手回答

#3


条件指示符#ifndef检查预编译常量在前面是否已经被定义.如果在前面没有被定义,
则条件指示符的值为真,于是从#inndef到#endif之间的所有语句都被包含进来进行处理.
相反,如果#inndef指示符的值为假,则它与#endif指示符之间的行将被忽略.

#4


作用1:防止重编译,功能与#pragma once一致 
作用2:条件开关,只要定义一个宏就可以搞定不同版本了 

其他作用:就是简单的宏替换或者达到开关的作用 

#5


一般用法是这样的:
这里可以定义如下:
#define XXXXX

#ifdef XXXXX
这里做一些操作,这些操作只有在XXXX已经被define的情况下才会执行到。一般还可能有else,如
#else
做另一些操作。。。
#endif

还有一些如ifndef什么的,可以找些资料看一下。

#6


一般用于防止头文件重复引用
#ifndef xxx
#define xxx

#endif

#7



#include "iostream.h"
int main()
{
#ifdef DEBUG      
cout<< "Beginning execution of main()";
#endif      
return 0;
}
//运行结果为:Press any key to continue


//改写代码如下:
#include "iostream.h"
#define DEBUG
int main()
{
#ifdef DEBUG      
cout<< "Beginning execution of main()";
#endif       
return 0;
}
//运行结果为:Beginning execution of main()
//          Press any key to continue


通过使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码

#8


预编译指令,编译器根据这些指令选择、跳过、忽略一些编译内容

#ifdef WIN32
  .... codes for win32
#else
 ... codes for other
#endif

当编译上面代码前出现 #define WIN32,那么就是编译  .... codes for win32代码,否则编译 ... codes for other代码

#9


ls讲的 very good!

#10


了解了,效果跟IF ELSE差不多

#11


short135讲的很清楚啊、
值得学习

#12


哦,条件编译

#13


学习了,不错的知识!

#14


学习。。。

#15


学习了。。。。

#16


呵呵 还是要实践

#17


学习了,和#if ……#endif语句有点区别 我一般用这种方法

#18


恩,确实,以前看过,不过忘记了,现在又重温一遍,很好

#19


该回复于2012-06-21 11:20:18被版主删除

#20