Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/10/2012, 02:28
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: ¿Limite de pila de de llamada, programacion en C?

Algunos compiladores permiten especificar el tamaño de la pila como una de las opciones del compilador, tendrás que buscar en los manuales o menús de ayuda de tu compilador. Si utilizas esa opción (suponiendo que la tengas) es probable que tengas que activar (o desactivar) otras opciones. Por ejemplo, el antiguo compilador Microsoft C para MS-DOS tenía por defecto un tamaño de pila de 2 Kb, que podía modificarse mediante la opción /F a cualquier valor entre 1 byte y 64 Kb, pero recomendaba, si se cambiaba el tamaño de la pila, no suprimir la opción de chequeo del stack (lo que suponía una pequeña pérdida de rendimiento).

En cualquier caso, una función recursiva sobre un array de 200mil elementos puede comerse cualquier pila, y tampoco indicas el tamaño de cada elemento ni qué parámetros pasas o cómo los pasas a esa función. Por ello, como dijo Instru, mejor intenta evitar la recursividad. Las soluciones recursivas pueden ser elegantes y fáciles de implementar, pero pueden consumir grandes cantidades de recursos y de tiempo de ejecución.

Saludos,