Let me start by saying that I have read this tutorial and have read this question. My questions are:
-
How big can the stack get ? Is it
processor/architecture/compiler
dependent ? -
Is there a way to know exactly how
much memory is available to my
function/class stack and how much is
currently being used in order to
avoid overflows ? -
Using modern compilers (say gcc 4.5)
on a modern computer (say 6 GB ram),
do I need to worry for stack
overflows or is it a thing of the
past ? -
Is the actual stack memory
physically on RAM or on CPU cache(s) ? -
How much faster is stack memory
access and read compared to heap
access and read ? I realize that
times are PC specific, so a ratio is
enough. -
I’ve read that it is not advisable
to allocate big vars/objects on the
stack. How much is too big ? This
question here is given an answer
of 1MB for a thread in win32. How
about a thread in Linux amd64 ?
I apologize if those questions have been asked and answered already, any link is welcome !
1 Answer