O que está causando um estouro de pilha?

Você pode pensar que isso é uma coincidência que o tópico da minha pergunta é semelhante ao nome do fórum, mas eu realmente cheguei aqui pesquisando o termo "estouro de pilha".

Eu uso o simulador de rede OPNET em que eu programo usando C. Eu acho que estou tendo um problema com grandes tamanhos de matriz. Parece que estou atingindo algum tipo de limitação de alocação de memória. Pode ter a ver com o OPNET, o Windows, a memória do meu laptop ou a linguagem C mais provável. O problema é causado quando tento usar matrizes aninhadas com um número total de elementos chegando a vários milhares de inteiros. Eu acho que estou excedendo um limite de alocação de memória geral e estou querendo saber se existe uma maneira de aumentar esse limite. Aqui está a descrição exata do problema:

Eu basicamente tenho uma tabela de roteamento. Vamos chamá-lo de routing_tbl [n], o que significa que eu estou suportando 30 nós (roteadores). Agora, para cada nó nesta tabela, mantenho informações. sobre muitos (centenas) caminhos disponíveis, em uma matriz chamada caminhos [p]. Novamente, para cada caminho nessa matriz, mantenho a lista de nós que pertencem a ela em uma matriz chamada hops [h]. Então, estou usando pelo menos inteiros inteiros de memória, mas essa tabela também contém outras informações. Na mesma função, também estou usando outro array aninhado que consome quase 40.000 inteiros também. Assim que executo minha simulação, ela se queixa de estouro de pilha. Funciona quando eu reduzo o tamanho total da tabela de roteamento. O que você acha que causa o problema e como ele pode ser resolvido? Muito apreciado Ali

questionAnswers(6)

yourAnswerToTheQuestion