The Linux Page

Microsoft compiler version

Somehow, each time I want to know the version of cl1 I just cannot remember the correct name for the macro to use. This is _MSC_VER. This is set to a large number such as 1300. This number represents the compile version. Not the version of the IDE that started later and seems to have been moving slower too. So, at time of writing, the current IDE is version 8.0, but the corresponding compiler is 1400.

Compiler Version IDE Version Year
1100 Visual C++ 5.0 1995?
1200 Visual C++ 6.0 1997
1201/2 eVisual C++ 4.0 1997
1300 Visual C++ 7.0 1999
1310 Visual C++ 7.1 2000
1400 Visual C++ 8.0 2005
1500 Visual C++ 9.0 2008
1600 Visual C++ 10.0 2010

Sample code one can use to get the exact Compiler Version:

// In a Visual Studio Console compile with:
//     cl ver.c
main()
{
	printf("%d\n",_MSC_VER);
}

Note that you can get a free version of Visual Studio (without all the features available) from Microsoft. It is called Visual Studio Express:

http://www.microsoft.com/express

  • 1. In case you did not know, cl is the C/C++ compiler.