quinta-feira, 22 de novembro de 2007

Stack Overflow

Há conceitos em programação, que somos advertidos várias vezes, mas que nunca ligamos muito a eles, o "Stack Overflow" é um deles. Percebi hoje, da pior forma ( diga-se de passagem ) que a programação recursiva têm algumas consequências.

O stack Flow ocorre qdo a call stack fica cheia, e a colocação das chamadas do programa começam a trasbordar para fora da stack! Ou algo assim no género.
Na abordagem que estava a fazer ao programa a minha call-stack teria de ter tamanho para alojar as 1.077.000 funções.
Trabalhei com abordagens recursivas para a mesma finalidade no flash e no gcc. Curiosamente o flash suporta 33.000 estágios e o gcc suportou 12.000

De qualquer maneira deixo neste link a minha abordagem em c++ (uso o bloodshed dev c++ v 4.9.9.2)

ficheiro

Sem comentários: