Hi all,
We're looking into creating a 64-bit version our application. The app uses a third party DLL that has a 64-bit version. One of the functions in the DLL uses recursion, and given a certain input it can get very deep. Playing around with it, I've noticed the stack size used on the deep recursion condition is twice the size in the 64-bit version, comparing to the 32-bit one.
I've written a small test program with an empty function that does nothing other than call itself a given number of times. Turned out the 32-bit version was able to recur more than twice before reaching a stack overflow. Measuring the stack usage before crashing confirmed this observation.
This is not a common situation, but it has in fact happened to me that a 64-bit version crashed were 32-bit ran just fine. The default stack size in VC8 is 1MB. Given that 64-bit versions use a lot more stack space, wouldn't it make sense to enlarge that default