ifndef的作用?解决办法
ifndef的作用?
我遇见这样一个头文件:
#ifndef _MYMATH_H
#define _MYMATH_H
extern “C”
{
int Summary(int n);
int Factorial(int n);
}
#endif
请问,#ifndef _MYMATH_H和#define _MYMATH_H是什么意思呢?
------解决方案--------------------
#ifndef _MYMATH_H和#define _MYMATH_H 这两个宏用来防止重复包含头文件,如果在多个文件中重复包含某一头文件会出现错误,这两个宏在这里的意思是:如果没有定义_MYMATH_H就执行下面的语句,如果执行了就跳过下面的语句,类似if语句
------解决方案--------------------
防止该文件被重复包含
#ifndef _MYMATH_H
如果没有定义 _MYMATH_H
#define _MYMATH_H
就定义 _MYMATH_H
extern “C”
{
int Summary(int n);
int Factorial(int n);
}
当第二次要包含该文件时,由于已经定义了_MYMATH_H
就不会在包含这些内容。
我遇见这样一个头文件:
#ifndef _MYMATH_H
#define _MYMATH_H
extern “C”
{
int Summary(int n);
int Factorial(int n);
}
#endif
请问,#ifndef _MYMATH_H和#define _MYMATH_H是什么意思呢?
------解决方案--------------------
#ifndef _MYMATH_H和#define _MYMATH_H 这两个宏用来防止重复包含头文件,如果在多个文件中重复包含某一头文件会出现错误,这两个宏在这里的意思是:如果没有定义_MYMATH_H就执行下面的语句,如果执行了就跳过下面的语句,类似if语句
------解决方案--------------------
防止该文件被重复包含
#ifndef _MYMATH_H
如果没有定义 _MYMATH_H
#define _MYMATH_H
就定义 _MYMATH_H
extern “C”
{
int Summary(int n);
int Factorial(int n);
}
当第二次要包含该文件时,由于已经定义了_MYMATH_H
就不会在包含这些内容。