Info About Microsoft Visual C++ 6.0



->Courses
->Electronic Submission
->Documentation Standards
->Old Exams
->C++ Examples
->MSVC++ Info
->Software
->Support Forum
->Course Policies

[Home]
[Rich][Home][Rich]
[Author]

Getting Started

Microsoft offers help for creating a new project. If you are just interested in learning how to create a new program in MSVC60, you may find my webpage for the CS-182 lab to be helpful.

Warning Messages

Using the STL may cause a rash of warning messages. Warning messages that are identified as Warning C4786: are created when MSVC generates extremely long names that it uses for debugging purposes. The long names are generated by the template expansion process and the warning messages normally can be ignored. Since these warnings tend to hide more interesting warning/error messages, you may wish to suppress the warning. This can be done by adding the following line near the top of your source file: #pragma warning(disable:4786)

Patches/Defect Fixes

Service Packs

If you have one of the MSOE issue laptops then you should already have service pack 4 (there are problems with service pack 5, so I would suggest sticking with SP4) installed for Microsoft Visual C++ 6.0. If you are using MSVC60 on another machine, you should apply the appropriate Microsoft service pack.

You may follow these steps to check to make sure that you do have SP4 installed:

  • Right-click on the msvcrt.dll file in the system directory (c:\WINNT\SYSTEM32).
  • Select Properties from the pop-up menu.
  • Click on the Version tab to display the version number.
  • If service pack four is installed, the version number should be at least 6.1.8924.0.

getline()

Note: This fix should already be done for students with the Evo laptop image.

The getline function that is supplied in the string library requires the user to hit enter twice (not fun). This can be fixed by editing line 165 of the file: c:\Program Files\Microsoft Visual Studio\VC98\Include\STRING

Line 165 should be:

                _I.rdbuf()->sbumpc();
instead of:
                _I.rdbuf()->snextc();
If you would prefer to just copy an already corrected copy of the STRING file, see Dr. Welch's getline Method Patch webpage.

list::sort()

The sort member function from the STL list class looses data if the list has more than 32,768 elements. While this speeds up the time it takes to sort, it tends to make the function useless. This can be fixed by editing line 371 of the file: c:\Program Files\Microsoft Visual Studio\VC98\Include\LIST

Line 371 should be:

                _A[_I - 1].merg(_X, _Pr);
instead of:
                _A[_I].merg(_X, _Pr);

Dinkumware's website also suggests that you may want to modify the value of _MAXN from 15 to something like 25. This will increase the performance of the function for large containers.

MSVC 5.0 Related Issues

Since MSVC50 shares many similarities with MSVC60, you may also wish to consult Dr. Mark Sebern's webpage devoted to Microsoft VC++ 5.0 issues.

MFC and Debugger

Dr. Sebern has also provided pages that describe the Microsoft Foundation Classes and the MSVC++ 5.0 debugger.

© 2000-2002 Dr. Christopher C. Taylor Office: CC-27C Phone: 277-7339 Last Updated: Wed Aug 14 17:24:08 2002
I am responsible for all content posted on these pages; MSOE is welcome to share these opinions but may not want to.