I really want to know - why even on a SIMPLE application such as:
the one created by default at Visual C++ 2005 (File->New->Project->Visual C++->Win32 Project)..
.. The memory usage is high even at Release build ?!?

The one I've just created, specially for this thread, is eating 2,480KB !! And it's actually does nothing!

I am asking this because I'm trying to create a certain application, where I also need to minimize memory usage. I prefer less memory over size.

I tried to play with the project's properties but nothing seem to help much, so I did this "research":
I fired up Olly Debugger, just to see what this code really made for me as a final EXE.

00401489   > 51			 PUSH ECX								 ; /Arg4
0040148A   . 50			 PUSH EAX								 ; |Arg3
0040148B   . 53			 PUSH EBX								 ; |Arg2
0040148C   . 68 00004000	PUSH test.00400000					   ; |Arg1 = 00400000
00401491   . E8 6AFBFFFF	CALL test.00401000					   ; \test.00401000
This is the REAL entry point (WinMain) for my program! Eveything till now, all the wasted API calls, all the useless loops, and it comes to here.

As far as I understand this is the **** CRT.

My question is this:
Is there any way to compile\link my program without all the CRT runtime?
How can I minimize the memory this project takes? (remember, it's the default code).

Maybe I should retire to assembly?

This really pisses me off, especially when I see that WinRAR is splitting a file for me as I'm writing this text, a file at size of 6.5GB, splitting it to 2 DVD chunks. WinRAR takes ONLY 1,576KB !!!!