While compiling a small piece of code, I noticed I had a typo on my very first line. Instead of #include <cstdlib>, I had #include <ctsdlib>.

To my awe there was no warning or error and even the expression system("pause") worked like a charm! It was obvious stdlib.h was somehow being included...

After much searching around I found a compiler option under C/C++/Advanced to show all the includes. I set it to yes and was simply amazed to see that despite what I have on my code, VC++ 2005 decides (rightly so) I don't know what I am doing. As such it is including every library imaginable everytime I compile even a simple console project.

iostream.h, istream.h, ios.h, sal.h, limits.h... you name it.

Thanks, but no thanks. Problem is I can't seem to find a way to turn this off. How do I tell VC++ 2005 to simply behave like a normal compiler and only work based on what's on my code? Even if that means it fails to compile.