I have just installed the Platform SDK for Windows Server 2008 and .NET 3.5 on my new system, and for the first time tried to compile a project for WIN64. The Unicode Release version of that program, built for 32 bit (using the optimizing compiler from the no longer available Free Toolkit), comes in at about 2.8 MB. Using the amd64 compiler from the latest PSDK the program is more than 5 MB big.
I'm most concerned with program size, so everything is built with /O1 switch. I was expecting the program to become larger when built for 64 bit, but not that much. The size is more in line with a build from the Express version, where (some) optimizations are not available.
Do the compiler in the PSDK and the compiler from MSVC 2008 Professional create programs of very different sizes? Does the compiler in the PSDK optimize in the same way, or even at all?
Thanks for any insight.
Edit:
The program and all linked libraries are built using the same makefile.vc on the command line, so differences in compilation settings are not likely. I basically just used another command file to start a shell with proper environment for 64 bit compilation.
Here are the sizes for the application:
VC++ Toolkit 2003 32 bit cl.exe: 13.10.3052 for 80x86 2.916.352 Platform SDK 32 bit cl.exe: 15.00.30729.01 for 80x86 2.881.536 Platform SDK 64 bit cl.exe: 15.00.21022.08 for x64 5.138.432
So the 64 bit version is 78% larger :-(