#ifndef到底什么意思?
2014-10-31 21:06
288 查看
看了网上别人的文章,以前对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这个文件的重复编译。这样就避免了重复编译文件。。
//这里就是避免了那个头文件2次编译就这么简单
以下文件在"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这个文件的重复编译。这样就避免了重复编译文件。。
//这里就是避免了那个头文件2次编译就这么简单
相关文章推荐
- #ifndef到底什么意思?
- #ifndef到底什么意思?
- #ifndef到底什么意思?
- #ifndef到底什么意思
- #ifndef、#def、#endif等宏是什么意思 转
- 网络带宽中的Kbps和KB/s到底是什么意思?
- #ifndef、#def、#endif等宏是什么意思
- “srand((unsigned)time(NULL));”到底是什么意思?
- cdecl、pascal、stdcall、fastcall等修饰符号到底什么意思呢?
- UNIX脚本中#!到底是什么意思
- tf.reducemean()到底是什么意思?
- [编译预处理系列2]#ifndef、#def、#endif等宏是什么意思
- SQL Server 中的 NOLOCK 到底是什么意思?
- c语言中的#ifndef、#def、#endif等宏是什么意思
- Perl到底是什么意思?
- MVC路由中routes.IgnoreRoute("{resource}.axd/{*pathInfo}") 到底什么意思!
- 所谓快速的浏览器到底是什么意思?
- c语言中的#ifndef、#def、#endif等宏是什么意思 .
- super(true)到底是什么意思?
- 交叉编译: --host --build --target到底什么意思?