Free Optimizing C++ Compiler from Microsoft
FortranDragon writes "Microsoft has made the command line toolkit for Visual C++ available for a free download. You can use the toolkit to build applications and redistribute them if you want (though you should read the EULA for the details, as always). This is a nice boon for those that have to deal with cross-platform compatibility, especially since Microsoft has tried to make Visual C++ more conformant to the ISO C++ standard. Go forth and compile your favorite OSS or FS programs today. ;-)"
You could try Dev-C++
Borland has offered free downloads of C++ Builder (and some tools) for quite some time.
The problem with me was not that MSV C++ didn't let me do things I could do with other compilers. The problem was mostly about plain ISO C++ compliance. Just to give you an example, the following is a problem I found in MSV C++ when trying to port a program:This code would not compile in MSVC++ 6.x telling me that the same variable had been defined twice. Now while this could seem like a simple problem to solve, it meant going through 7000+ lines of code and declaring the variable outside the for loop every single time.
According to the C++ standard, the scope of the variable that is declared inside the "for" loop is limited to the loop. In other words, this code is legal according to the C++ standard, but Visual C++ 6 couldn't compile it successfully.
MSVC++ is considered one of the least compliant C++ compiler implementations available for this, and many other reasons.
To back up a bit what I said, here goes a google link to a discussion regarding VC++'s ISO compliance. If you follow the selected sub-thread you will also find a reply from one of the developers of MSVC++ in which he clearly states that Microsoft's main goal was not to create a fully compliant C++ compiler, but rather to implement upon the standard specifications and create a sort of Microsoft C++ standards.
A small quote:
And the link to the discussion:
google.com
Diego Rey
diegoT
Just about everything you've said has been proven wrong in other posts. Why did you bother posting in the first place? You've only made yourself look like an idiot.