Small executables in VC++ 8
Does anyone know of any tutorials around, or have any tips on creating small executables with VC++ 8? There are several tutorials around, but alot of the techniques used only apply to VC++ 6 (and the ones that still work don't seem to make any significant differences). The smallest executable I've produced with VC++ 8 was 3.5KB, when I statically linked the CRT (probably smaller than dynamically linking as I barely used any of the C standard library). I believe the smallest executable I've produced with VC++ 6 was 2KB, without manipulating anything manually such as a custom DOS stub, etc.
When I open up executables produced with VC++ 8 in a hex editor I see stuff such as embedded manifests and a whole lot of padding. I don't see why the manifests are necessary in things such as console apps, so I'm wondering if it's possible to cut stuff like this out of final builds. I probably can't do much about the padding, but I don't see the purpose of the manifests.
I know alot of people are probably thinking that I shouldn't be so fussy on size, but why not. I try to write the tightest code I can, and it's rewarding to see such small executables I've written performing so much work so quickly. What's not rewarding is writing such tight code and then watching as your compiler bloats it out with nonsense. It's kinda like a spit in the face.
Could anyone here please point me to tutorials or give me some tips on creating small executables with VC++ 8?