#ifndef到底什么意思?

看了网上别人的文章,以前对ifndef的含义一直有些困惑。现在终于明白了。

以下文件在"os_cpu.h"中。

#ifndef __OS_CPU_H__
#define __OS_CPU_H__ 

/*

中间有许多定义啦声明啦!;;

*/

#endif /*__OS_CPU_H__*/

这样,在编译阶段(ifndef是在编译阶段起作用滴!)假设有两个文件同时include了这个文件(os_cpu.h),这两个文件如果一个先编译了,那么__OS_CPU_H__就被定义了。当编译到第二个文件的时候,那么在开始的判断(ifnef)就会自动跳出os_cpu.h这个文件的重复编译。这样就避免了重复编译文件。。

你可能感兴趣的:(#ifndef到底什么意思?)