#if _MSC_VER >= 1000 
#pragma once 
#endif请问这几句怎么解释~~

解决方案 »

  1.   

    (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
      

  2.   

    这三句是一组pragma条件预编译语句,要求当进行编译时,本文件只能打开一次
    #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 是其中的一种,它告诉编译器,项目进行编译时只能将本文件包含(打开)一次。