yes, the code you mentioned, on my env. as following:
/*
* We need to prevent <crtdefs.h> from defining a symbol conflicting with
* our errcode() function. Since it's likely to get included by standard
* system headers, pre-emptively include it now.
*/
#if _MSC_VER >= 1400 || defined(HAVE_CRTDEFS_H)
#define errcode __msvc_errcode
#include <crtdefs.h>
#undef errcode
#endif
----------------------------------------------------------
the ms version info as following:
Microsoft Visual Studio 2008
Version 9.0.30729.1 SP
Microsoft .NET Framework
Version 3.5 SP1
Installed Edition: Professional
Microsoft Visual C++ 2008 91605-270-4948377-60248
Microsoft Visual C++ 2008
-----------------------------------------------------------------------
the value of _MSC_VER is 1500.