(1000 for 4.0, 1200 for 6.0, vs 1100 for whatever probe is reporting for.)This is the version 4.0c compiler:$ strings "/c/msdev/bin/cl.exe" | egrep "(MSC_VER|MSVCRT)" -D_MSC_VER=1000 MSVCRT40.dllThis is the version 6.0 compiler:$ strings "/c/Program files/Microsoft Visual Studio/VC98/Bin/CL.EXE" | \ egrep "(MSC_VER|MSVCRT)" MSVCRT.dll -D_MSC_VER=1200 MSVCRT.dll
1200 for 6.0, vs 1100 for whatever probe is reporting for.)This is the version 4.0c compiler:$ strings "/c/msdev/bin/cl.exe" | egrep "(MSC_VER|MSVCRT)"
-D_MSC_VER=1000
MSVCRT40.dllThis is the version 6.0 compiler:$ strings "/c/Program files/Microsoft Visual Studio/VC98/Bin/CL.EXE" | \
egrep "(MSC_VER|MSVCRT)"
MSVCRT.dll
-D_MSC_VER=1200
MSVCRT.dll
#if _MSC_VER >= 1000 中的 _MSC_VER 是微软C++编译器提供的若干预定义宏的一种,用它表示编译的版本,Mircsoft Visual C++6.0被定义为1200,所以满足 _MSC_VER >= 1000的条件.在VC++ 6.0的帮助文件中指出,pragma可以以条件语句的形式提供一种新的预处理功能,向编译器提供某些规定的编程信息.C和C++认可许多这样的语句
#pragma *;比如#pragma warning等,
语句#pragma once 是其中的一种,它告诉编译器,项目进行编译时只能将本文件包含(打开)一次。