#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喽~

posted @ 2013-04-05 16:56  gumcstronger  阅读(162)  评论(0)    收藏  举报