Recently I decided to make the move to VisualC++7.1 (aka .Net 2003), from the rather long-in-the-tooth version 6.0 which has seen me through the last eight years or so. I was kind of glad to see that Microsoft offered fewer packages than they used to; I assumed it would make my decision easier. In fact they now appear to offer only one standalone VisualC++ package, the "Standard" edition. If you want "Professional", you have to buy the whole Visual Studio package, which costs *shitloads* more.
Now since I don’t want C#, J#, ASP, Visual Basic, etc, I figure the Standard package is the obvious choice. And even though the feature comparison chart does indicate that the standard edition doesn’t use the "powerful optimizing compiler", I assumed that it simply meant I couldn’t tweak and tune my settings. After all, it’s the only C++ standalone product they are offering— surely it wouldn’t generate unoptimized code!
I was of course, being stupidly naive in my assumption [not a rare occurrence]. Microsoft have actually seen fit to only offer one standalone version of VisualC++, which creates program files more than twice the size and about 30% slower than the old one did. When built using VC7.1, jujuedit balloons from 480K to 1.05M, and runs significantly slower as well!
This could have been the end of the story, and I might have gone to bed very cross about this bullshit crippleware tactic, had I not done a search and discovered the Microsoft Visual C++ Toolkit 2003. Amongst other things, this free toolkit from Microsoft includes:
Microsoft C/C++ Optimizing Compiler and Linker. These are the same compiler and linker that ship with Visual Studio .NET 2003 Professional!
That would be the same compiler they left out of my "Standard" package! And now they’re just giving it away!
I downloaded and install the toolkit, and sure enough, there’s cl.exe along with a few companion dlls. I copied them over the smaller, crappier ones in my VC standard install and voila! I can build an optimized application, just like a real programmer. It’s still a bit of a pain, in that the IDE still doesn’t believe that optimization is available so you have to manually add the switches, but adding "/O1" to the project settings is not such a huge chore.
Read here and here for more details about the toolkit and how it can be used…