#ifndef #define #endif
头文件中的#ifndef
#ifndef HEADNAME
#define HEADNAME
.......
#endif // HEADNAME
废话少说,这是为了解决重定义问题。例如两个头文件都#include同一个头文件,而编译时这两个文件要编译成一个可执行文件,如果没有#ifndef则会带来大量的声明冲突。于是规定把头文件标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h
#ifndef _STDIO_H_
#define _STDIO_H_
程序段
#endif
文件中的#ifdef
#ifdef 标识符
程序段1
#else
程序段2
#endif
一般情况下,源程序中所有行都参加编译,但是有时候希望对其中一部分内容,只在满足一定条件才进行编译,也就是对一部分内容指定编译条件,这就是条件编译。这样的话,我们就可以在config文件中轻易地决定要编译哪个程序段
文件中的#if #end
# if defined(_PTHREADS) && !defined(_NOTHREADS)
# define __STL_PTHREADS
# endif
假如有定义_PTHREADS且没有定义_NOTHREADS,那么就定义__STL_PTHREADS吧。就像if else喽~

浙公网安备 33010602011771号