Check that the stack has not overflowed and has sufficient space.
This macro only performs checking when DEBUG is enabled.
Otherwise it does not check the stack and generates no code in the binary.
When DEBUG is enabled, stack checking is automatically included with
all documented macros provided by the library. If the stack does not have enough
free space, the program will terminate with a stack overflow
error.
StackCheck without any parameters assumes a set amount of free space is
needed. The default is 32 bytes of free space as defined by the
STACK_SAFETY_MARGIN setting in the lazydefs.inc file. It is not
per program customizable setting.
Providing a paramater to StackCheck insures that additional space + the saftey
margin is available on the stack.
There is a lot of overhead involved in constantly monitoring the stack. You should not
have DEBUG when a program is released. It negatively impacts performance and
increases the compiled binary byte size.
The following example will demonstrate stack overflow checking through the library macros.
When executed, it will terminate with a stack overflow
error.