From: Paul Rudin on
"Martin v. Loewis" <martin(a)v.loewis.de> writes:

> Microsoft has just released Visual Studio 2010, along with its free (of
> charge) Express edition. Following a tradition, they are likely to
> withdraw support and availability for VS 2008 Express some time in the
> future.
>
> Python 2.6, 2.7, and 3.1 are all built with that release (i.e. 2008).
> Because of another long tradition, Python extension modules must be
> built with the same compiler version (more specifically, CRT version) as
> Python itself. So to build extension modules for any of these releases,
> you need to have a copy of VS 2008 or VS 2008 Express.
>
> If you are planning to build Python extension modules in the next five
> years, I recommend that you obtain a copy of VS Express, just in case
> Microsoft removes it from their servers. As mentioned, it's free of
> charge. When downloading it for later use, it's probably best to get the
> offline ISO image release, available from
>
> http://www.microsoft.com/express/Downloads/#2008-All
>
> Disclaimer: I'm not connected with Microsoft or its release process. Any
> claim on future actions that Microsoft may take is purely hypothetical.
>

I'm curious to know exactly the differences between the c/c++ compilers
you get with various versions of VS and those you get with the (command
line only) Windows SDK (formerly called the platform SDK).

The windows sdk is a free download. Is the compiler you get the same as
the one you get with the full paid version of VS? This web page seems
to suggest it might be
<http://msdn.microsoft.com/en-us/windows/bb980924.aspx>
From: Martin v. Loewis on
> I'm curious to know exactly the differences between the c/c++ compilers
> you get with various versions of VS and those you get with the (command
> line only) Windows SDK (formerly called the platform SDK).
>
> The windows sdk is a free download. Is the compiler you get the same as
> the one you get with the full paid version of VS? This web page seems
> to suggest it might be
> <http://msdn.microsoft.com/en-us/windows/bb980924.aspx>

The primary "difference" is the CRT version that it ships with. Also,
one difference is whether it ships with a compiler at all. For a long
time, the SDK didn't include a compiler at all. Then, for several years,
it included an Itanium compiler and an AMD64 compiler, but no x86
compiler. Now it does, and I don't know what CRT version it links with
(at some point, the SDK would link with crtdll.dll, then msvcrt.dll,
but it's some other version now).

In any case, AFAIK, the SDK binaries will be linked with one specific
version of the CRT, which may or may not be the same as the one used in
one specific version of Visual Studio.

HTH,
Martin
From: TerryP on
On Apr 27, 11:09 pm, "Martin v. Loewis" <mar...(a)v.loewis.de> wrote:
> > I'm curious to know exactly the differences between the c/c++ compilers
> > you get with various versions of VS and those you get with the (command
> > line only) Windows SDK (formerly called the platform SDK).
>
> > The windows sdk is a free download. Is the compiler you get the same as
> > the one you get with the full paid version of VS?  This web page seems
> > to suggest it might be
> > <http://msdn.microsoft.com/en-us/windows/bb980924.aspx>
>
> The primary "difference" is the CRT version that it ships with. Also,
> one difference is whether it ships with a compiler at all. For a long
> time, the SDK didn't include a compiler at all. Then, for several years,
>  it included an Itanium compiler and an AMD64 compiler, but no x86
> compiler. Now it does, and I don't know what CRT version it links with
> (at some point, the SDK would link with crtdll.dll, then msvcrt.dll,
> but it's some other version now).
>
> In any case, AFAIK, the SDK binaries will be linked with one specific
> version of the CRT, which may or may not be the same as the one used in
> one specific version of Visual Studio.
>
> HTH,
> Martin

If one relies on the Express Editions, you're basically limited to the
X86 compiler and missing certain things (biggest gripe: profiling). I
believe that the Windows Driver Development Kit (DDK) has X86, AMD64,
and IA64 compilers included. Last time that I looked, it appeared to
be a build similar to Visual C++ 2008 but I didn't have enough spare
time to inspect it's license and general suitability for applications
development.