Programación General > C/C++

 Juego de palabras

<< < (2/2)

Eternal Idol:
¿Y como esperas que la pila se llene en este caso? Por favor explicalo, que sucede en cada pasada de alguno de esos bucles (tampoco especificas en cual) que aumenta el consumo de la pila.

Y no, la pila no se llena con toda la informacion de un programa ni por la mas minima casualidad, para algo existen las secciones de codigo, datos, datos de solo lectura, etc. La recursion no hace que sea mas rapido sino que al ser una llamda tras otra se van acumulando todas las variables locales de la funcion y los frames o al menos direcciones de retorno. Las variables globales o estaticas no van en la pila JAMAS, la pila es volatil. La cosa es que no es solo cuestion de hablar por hablar, antes hay que documentarse.

gonza_fs:
Mira, creo que ya estas llevando el tema para otro lado, yo como cualquiera que lee, aporte mi opinion. Ya que mencionas la frase "hablar por hablar", podemos aclarar un par de cosas. Primero no hay que tomar todo al pie de la letra. Porque sino, yo podria decirte que no afirmaria que la pila es "volatil". Si vamos con el criterio de explicar todo bien perfectamente, esa no es la palabra correcta para describir la pila de ejecucion. Si queres podemos diferenciar entre pila y heap. La pila de ejecucion de un programa no es solo la pila como tal, sino que lleva un bloque por debajo denominado heap, que en conjunto con la pila forman todo el bloque. A eso considero yo pila de ejecucion, y tomado desde ese punto las variables globales si van en la pila de ejecucion, debajo del heap, incluso antes de arrancar el programa ya estan consumiendo memoria de ese bloque. Si consideras aparte que este bloque de ejecucion es un bloque fijo que no cambia de tamaño, se puede rebalsar. Todo esto hablamos sin saber las cuestiones de manejo del compilador.
Igual ya nos fuimos del tema, solo queria aclararte esto que creo que lo estamos viendo desde dos puntos diferentes. Solo eso, saludo.

Eternal Idol:

--- Cita de: "gonza_fs" ---Mira, creo que ya estas llevando el tema para otro lado, yo como cualquiera que lee, aporte mi opinion.
--- Fin de la cita ---

No, el que lleva el tema para otro lado y no señala como puede ser que haya un stack overflow en este codigo sos vos. Y las opiniones no tienen mucha utilidad en este caso si no tienen ningun fundamento, como la tuya estaba ERRADA yo lo señale.


--- Cita de: "gonza_fs" ---Ya que mencionas la frase "hablar por hablar", podemos aclarar un par de cosas. Primero no hay que tomar todo al pie de la letra. Porque sino, yo podria decirte que no afirmaria que la pila es "volatil".
--- Fin de la cita ---

Si, hablas por hablar pibe, incluso en este caso, por algo use la italica para poner volatil, no es algo muy complicado de entender, las variables que van en la pila son las locales; documentate.


--- Cita de: "gonza_fs" ---Si vamos con el criterio de explicar todo bien perfectamente, esa no es la palabra correcta para describir la pila de ejecucion.
--- Fin de la cita ---

La pila es una sola, se usa para mas de una cosa; documentate.


--- Cita de: "gonza_fs" ---Si queres podemos diferenciar entre pila y heap.
--- Fin de la cita ---

Si, claro que queremos hacerlo, el heap es otra cosa ... documentate.


--- Cita de: "gonza_fs" ---La pila de ejecucion de un programa no es solo la pila como tal, sino que lleva un bloque por debajo denominado heap, que en conjunto con la pila forman todo el bloque.
--- Fin de la cita ---

No, el heap (monticulo) es el area de memoria dinamica; documentate.


--- Cita de: "gonza_fs" ---A eso considero yo pila de ejecucion, y tomado desde ese punto las variables globales si van en la pila de ejecucion, debajo del heap, incluso antes de arrancar el programa ya estan consumiendo memoria de ese bloque.
--- Fin de la cita ---

No importa lo que vos consideres, las variables globales van en la seccion de datos o datos de solo lectura, no en la pila, documentate. El heap es otra cosa ... documentate.


--- Cita de: "gonza_fs" ---Si consideras aparte que este bloque de ejecucion es un bloque fijo que no cambia de tamaño, se puede rebalsar.
--- Fin de la cita ---

Si, cosa que no es el heap justamente; documentate.


--- Cita de: "gonza_fs" ---Todo esto hablamos sin saber las cuestiones de manejo del compilador.
--- Fin de la cita ---

Mejor habla por vos mismo.


--- Cita de: "gonza_fs" ---Igual ya nos fuimos del tema, solo queria aclararte esto que creo que lo estamos viendo desde dos puntos diferentes. Solo eso, saludo.
--- Fin de la cita ---

No, el que se fue de tema fuiste vos desde que entraste a este hilo, hacete un favor: COMPILA EL CODIGO Y DEPURALO. Despues lee bastante asi la proxima vez que alguien te señale un error no te haces el guacho pistola y quedas como un flor de pelotudo. Y por si me falto decirlo: documentate.

http://en.wikipedia.org/wiki/Stack_overflow
http://en.wikipedia.org/wiki/Call_stack
http://en.wikipedia.org/wiki/Heap

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa