On 2/16/2011 11:42 PM, Guy Harris wrote:
What's the default process stack size in Win32?
==>From the VC2008 docs[1]:
The /STACK option sets the size of the stack in bytes. Use this option
only when you build an .exe file.
The reserve value specifies the total stack allocation in virtual
memory. For x86 and x64 machines, the default stack size is 1 MB. On the
Itanium chipset, the default size is 4 MB.
commit is subject to interpretation by the operating system. In Windows
NT and Windows 2000 it specifies the amount of physical memory to
allocate at a time. Committed virtual memory causes space to be reserved
in the paging file. A higher commit value saves time when the
application needs more stack space, but increases the memory
requirements and possibly the startup time. For x86 and x64 machines,
the default commit value is 4 KB. On the Itanium chipset, the default
value is 16 KB.
[1]http://msdn.microsoft.com/en-us/library/8cxs58a6%28v=VS.90%29.aspx
==>From the wireshark.exe header:
File "wireshark.exe": PE detected
=============================================================================
PE-Header
000000F8
=============================================================================
Machine (014C) I386
Number of sections 5
TimeDate stamp (4D5AB13E) Tue Feb 15 12:00:46 2011
<snip>
Size of stack reserve (00100000) 0
Size of stack commit (00001000) 0
Size of heap reserve (00100000) 0
Size of heap commit (00001000) 0
<snip>
==>So: it appears that the documentation is correct with respect to the
defaults.