Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Aug 17, 1998

Error, stack overflow

Question:
I work in Borland C++. My program compiles very well, but it exits it with the "stack overflow" error even before executing the first command.

Answer:
It won't be possible to troubleshoot this without knowing more about your program, but I can give you some general guidelines.

Whenever you call a function, the current location is saved on the stack so that when the function returns, the processor knows where to return. A stack overflow indicates that there is not enough stack memory for your program.

This could be because your program calls too many functions before returning (very unlikely). It could also be because you have a function that calls itself endlessly (much more likely). In addition, variables declared within a function reside on the stack. Is it possible that you are declaring large arrays or other memory-consuming data on the stack?

Finally, if you've ruled all that out, make sure you have plenty of stack space and look into allocating more. Borland has an option to increase the amount of memory provided for the stack.

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date