quote:Original post by Rattleheadquote:Original post by Namethatnobodyelsetook
MSVC 6 is flawed, yes, but it works well enough for most applications.
Hmm... I never had any trouble with it. Of course, until the past couple of years, I mostly used Borland stuff. But my experiences with it were always fine. What sort of problems did you have with it?
Everyone, including MS, admit it has really bad template support. Despite this, we''ve used it with a variety of templates without issue. I''m not sure what the exact nature of it''s problem is, but it really is a well know fact that it does have problems in this area. The fact that we use it without issue is why I point out that it works well enough.
I have issue with their support of precompiled headers because it breaks the ANSI standard in many ways. Assume you have PCH turned on, and
1. Include some code that doesn''t include that header. Boom compile stops. It doesn''t just compile anyway but without PCH, even though the code is perfectly valid. And then the only way you can really reuse the code is to leave your PCH as stdafx.h for every project, because if you try to share the file between projects only one of them will include the correct file if you rename the header to your project name.
2. When you include the PCH .h file, it forgets it''s current context. #define bob 1 #include "stdafx.h" int x=bob; This will fail, as it won''t know what bob is anymore. Same with trying to wrap things in an #if... it complains when it hits the #endif. Both work fine with PCH off.
There are tons more ways it doesn''t match the standard, but you know what, the way it does PCH is the only thing that really bugs me... and I''ve been using it for 5 years. Yeah, it''s flawed, but it''s fine. I love the editor, the intellisense, the autocomplete, the debugger, the MSDN hypertext help, and for the most part, the actual compiler. I have issues with many MS products, but their compiler and DirectX are things I feel they''ve done right.