Debug code is ALWAYS really bug, don't worry about it. In release mode, check your compiler optimisations. Default is optimise for execution speed, you can do a lot to bring the size down. But the single biggest thing that affects your average windows program (maybe not STL though), is whether you statically link with MFC or dynamically link. dynamic linking is smaller, but your program has more dependancies. Sorry to dissapoint you all with my lack of a witty or poignant signature.