VC++ Precompiled Headers in Header Files
===

I ran into precompiled headers today for the first time..forever changing my life.  I can't believe compiling my C++ code could be that fast.  It makes total sense now..

Anyway, one thing that is confusing me is that from what I've read so far, pre-compiled headers only should be added to source files( cpp? ).

In Visual Studio, there is an option under Project Properties->C/C++->Advanced to "Force Include File".  I set that compiler option to *stdafx.h*.

After doing this..I no longer require to include the headers I have added to my *stdafx.h*, even inside my header files ( source files are supposed to automatically include stdafx.h ).  Is this expected behaviour?  

I can't find a place that's clear in the distinction between header/source files.

If it does..great but I'm afraid it's another one of those things VC++ lets you get away with but will break in GCC.  And yes..it needs to be portable; at least between GCC and VC++.