¿Qué está causando un desbordamiento de pila?

Puede pensar que esto es una coincidencia que el tema de mi pregunta es similar al nombre del foro, pero en realidad llegué aquí buscando en Google el término "desbordamiento de pila".

Utilizo el simulador de red OPNET en el que programo usando C. Creo que tengo un problema con los tamaños de matriz grande. Parece que estoy golpeando algún tipo de limitación de asignación de memoria. Puede que tenga que ver con OPNET, Windows, la memoria de mi computadora portátil o el lenguaje C más probable. El problema se produce cuando trato de usar matrices anidadas con un número total de elementos que llegan a varios miles de enteros. Creo que estoy excediendo un límite de asignación de memoria general y me pregunto si hay una manera de aumentar este límite. Aquí está la descripción exacta del problema:

Básicamente tengo una tabla de enrutamiento. Llamémoslo routing_tbl [n], lo que significa que estoy admitiendo 30 nodos (enrutadores). Ahora, para cada nodo en esta tabla, guardo información. acerca de muchas (cientos) rutas disponibles, en una matriz llamada rutas [p]. Nuevamente, para cada ruta en esta matriz, mantengo la lista de nodos que le pertenecen en una matriz llamada saltos [h]. Por lo tanto, estoy usando al menos nph de memoria de enteros, pero esta tabla también contiene otra información. En la misma función, también estoy usando otra matriz anidada que consume casi 40,000 enteros también. Tan pronto como ejecuto mi simulación, deja de quejarse del desbordamiento de pila. Funciona cuando reduzco el tamaño total de la tabla de enrutamiento. ¿Qué crees que causa el problema y cómo puede resolverse? Muy apreciado Ali

Respuestas a la pregunta(6)

Su respuesta a la pregunta