VC预处理命令 第8页
__FILE_ _ 当前源文件名称。__FILE_ _扩展为用双引号括起的一个字符串
__LINE_ _ 当前源文件的行号。该行号是一个十进制整型常量。可用一个#line指令修改
__STDC_ _ 指出与ANSI C标准的完全一致性。仅当给出/Za编译器选项且不编译C++代码时定义为整型量1;否则是不确定的
__TIME_ _ 当前文件的最近编译时间。该时间是格式为hh:mm:ss的字符串文字
__TIMESTAMP_ _ 当前源文件的最近修改日期。日期是格式为Ddd Mmm Datehh:mm:ss yyyy的字符串文字,这里Ddd是星期几的简写,Date是从1到31的一个整数表
表1.2 Microsoft特殊预定义的宏
宏 说明
__CHAR_UNSIGNED 缺省char类型是无符号的,当指定/J时定义的
__cplusplus 仅为C++程序定义
__CPPRTTI 定义为用/GR编译的代码(允许运行时类型信息)
__CPPUNWIND 定义为用/GX编译的代码(允许异常处理)
__DLL 指定/MD或/MDd(多线程DLL)时定义的
__M_ALPHA 为DEC ALPHA平台定义,使用ALPHA编译器时定义为1,若使用另一个编译器时不定义
__M_IX86 为x86处理器定义,参见表1.3
__M_MPPC 为Power Macintosh平台定义,缺省为601(/QP601)参见表1.4
__M_MRX000 为MIPS平台定义,缺省为4000(/QMR4000),参见表1.5
__M_PPC 为PowerPC平台定义,缺省为604(/QP604),参见表1.6__MFC_VER为MFC版本定义,为Microsoft Founndation类库4.21定义为0x0421,它总是定义的
__MSC_EXTENSIONS 该宏在使用/Ze编译选项(缺省值)时定义,定义时其值总为1
__MSC_VER 定义编译器版本,对于Microsoft Visual C++ 6.0定义为1200,它总是定义的
__MT 当指定/MD或/MDd(多线程DLL)或/MT或/MTd(多线程)选项时定义
__WIN32 为Win32应用程序而定义。它总是定义的
如下表所示,编译器对反映处理器选项的预处理器标识符产生一个值。
表1.3 _M_IX86的值
开发者的选项 命令行选项 返回值
Blend /GB _M_IX86=500(缺省值。将来的编译器将给出一个不同的值以影响主处理器)
Pentium /G5 _M_IX86=500
Pentiumpro /G6 _M_IX86=600
80386 /G3 _M_IX86=300
80486 /G4 _M_IX86=400
表1.4 _M_MPPC的值
开发者的选项 命令行选项 返回值
PowerPC 601 /QP601 _M_MPPC=601(缺省值)
PowerPC 603 /QP603 _M_MPPC=603
PowerPC 604 /QP604 _M_MPPC=604
PowerPC 620 /QP620 _M_MPPC=620
表1.5 _M_MRX000的值
开发者选项 命令行选项 返回值
R4000 /QMR4000 _M_MRX000=4000(缺省值)
R4100 /QMR4100 _M_MRX000=4100
R4200 /QMR4200 _M_MRX000=4200
R4400 /QMR4400 _M_MRX000=4400
R4600 /QMR4600 _M_MRX000=4600
R10000 /QMR10000 _M_MRX000=10000
表1.6 _M_PPC的值
开发者选项 命令行选项 返回值
R4000 /QMR4000 _M_MRX000=4000(缺省值)
R4100 /QMR4100 _M_MRX000=4100
R4200 /QMR4200 _M_MRX000=4200
R4400 /QMR4400 _M_MRX000=4400
R4600 /QMR4600 _M_MRX000=4600
R10000 /QMR10000 _M_MRX000=10000
上一页 [1] [2] [3] [4] [5] [6] [7] [8]
VC预处理命令 第8页下载如图片无法显示或论文不完整,请联系qq752018766