¿Es simplemente una "mala manera" asignar grandes búferes en una pila (si la pila tiene suficiente capacidad)? Me refiero a asignar objetos de 300-500 KB con una pila de 8 MB en sistemas Linux. ¿O puede causar algún error? Además, ¿existen pautas sobre cómo usar la memoria de pila?
No existe una regla estricta con respecto al tamaño de las variables asignadas a la pila.
Como regla general, prefiero no tener asignaciones de pila de más de 10 KB. De esa manera, quedarse sin espacio en la pila será mucho menos probable que sea un problema. Cualquier cosa más grande que eso debe asignarse dinámicamente y luego liberarse cuando ya no se necesite.
Sí, es una mala manera. Los objetos de ese tamaño se asignarán dinámicamente (o serán estáticos). Sin excepciones.
¿Qué pasa si su programa algún día se va a usar en un sistema con menos tamaño de pila predeterminado? Por ejemplo, Windows ... luego "comes" la mitad de la pila en una sola llamada.