VC 宏 知识的整理

文件包含(#include)

宏定义(#define)


第一种情况:


#ifdef _XXXX
...程序段1...
  #else
..程序段2...
  #endif
这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。


第二种情况:

#ifndef,表示的是if not def。所以和#ifdef相反

第三种情况:


#if 常量

 程序段1

#else

 程序段2

#endif


1.利用#ifdef/#endif将某程序功能模块

2.防止同一头文件被重复包含

2.在每一个子程序前加上标记,以便追踪程序的运行。
3.避开硬件的限制。


注释性宏,即是否使用它们不影响编译结果,通常定义为空


     __cplusplus  如果当前编译器为C++,该值为1。
    __DATE__  当前源码的编译日期,格式为Mmm dd yyyy。
    __TIME__  当前源码的编译时间,格式为hh:mm:ss。
    __TIMESTAMP__  当前源码文件最后被修改的日期和时间,格式为Ddd Mmm Date hh:mm:ss yyyy。
    __FILE__  当前源码文件名。
    __LINE__  当前插入点所在源码的行号。
    __FUNCTION__  当前插入点所在函数名。
    __STDC__  标识是否严格遵循ANSI C标准,编译器选项/Za被设置时该宏定义为1,表示遵循标准。   
    __VA_ARGS__  可变参数宏,用来传递可变参数表;该宏并非被所有编译器支持。

猜你喜欢

转载自blog.csdn.net/technique_otaku/article/details/55506779
vc