June 7th, 2010

Is it real that you are still using Visual C++ 6 and 5?

Commenter Sys64738 points out that Bjarne Stroustrup’s Web site says that “Literally everything at Microsoft is built using various flavors of Visual C++ – mostly 6.0 and 7.0 but we do have a few holdouts still using 5.0 🙁” and wonders if it’s true. Well, let’s see. Visual C++ 6 came out in 1998 and doesn’t support the /GS flag, nor does it support various replacement functions like strcpy_s. This makes it hard for anything compiled with Visual C++ 6 to conform to Microsoft’s Security Development Lifecycle which requires all code to be compiled with /GS and bans functions like strcpy. As a result, I would suspect that the statement is no longer true. It may have been mostly true when the statement was originally written in the late 1990’s, but things have changed a lot since then. (The statement wasn’t even 100% true when it was written, because Windows 95 used a special version of the compiler not found in nature for selected portions of the operating system.)

I find it interesting that the fact that the claim appeared on Bjarne Stroustrup’s Web site caused the reader to turn off all brain functions responsible for critical evaluation of information. It is unlikely that Mr. Stroustrup has first-hand knowledge of the information on that page; it’s almost certainly just a compilation of information reported to him by unnamed sources. (Actually, he even says as much in the opening paragraphs.) And do you honestly think that Visual Studio 2010 is compiled with Visual C++ 6?

Topics
Other

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.