There are only two problems that I have run into using VC. One is not VC''s fault, and the other is the fault of the compiler programmers.
1) When my computer occasionally locks up (due to DX/development stuff) and I must hit the dreaded reset button, and reboot w/ scandisk. After I have booted into Windows, VC will sometimes fail to build the code properly. Sometimes I get obscure errors like "the value of a register was not saved properly across a function call" when all I''m doing is calling a simple C++ class member function. Cleaning and rebuilding everything does not solve this problem, but creating a new project without modifying any of the source does solve it. Actually, this is the fault of the write-caching of the drive and has no relation whatsoever to VC specifically.
2) ANSI standard support. Everytime I learn about a feature, VC doesn''t support it yet. *sigh*
Remember, ~99.99% of computer problems is user error.
quote: Original post by Anonymous Poster
Think that''s bad? I just added a single word variable to my class, recompiled it, and my whole program crashed. For some reason, it didn''t like it. I guess the compiler probably tried to re-align my class and messed up my other variables. Now I always try to keep my classes dword align, otherwise I have no idea what MSVC is going to do with it.
If your program was depending on the alignment of the variables in the class, you should either re-write it using a different method or use the #pragma pack to make sure it is aligned properly. Otherwise, what you are doing is bad code on any compiler/platform and not guaranteed to run properly.
quote: Original post by Kylotan
Another thing to check when Visual Studio barfs in the weirdest of ways: Open your resource.h file, and check for negative(!!!) resource IDs.
I''ve seen this happen, and NOBODY could explain why, but it sure gives weird bugs.
I''ve had that happen, too. I bet it has something to do with manually assigning resource ID values in the editor, or changing resource ID names in the editor but not your source code and re-compiling.
- null_pointer
Sabre Multimedia