Pregunta

Estoy trabajando desde un fragmento de código de ejemplo que asigna una matriz local relativamente grande. (32768 para ser precisos) Cuando intento lo mismo, obtengo un comportamiento que parece ser un desbordamiento de pila. Ahora me preguntaba si mi ejemplo tal vez haya configurado la pila para que sea más grande que mi aplicación. es posible? Si es así, ¿cómo?

¿Fue útil?

Solución

Con el compilador de Microsoft puede usar / F para establecer el tamaño de la pila, sin embargo, parece que solo debes asignar el objeto en el montón. Debería tener una razón por la que está asignando esto en la pila en lugar del montón.

Editar: Esta página proporciona una buena cruzada Desglose de la plataforma, aunque puede estar fechado.

Otros consejos

Puede usar el indicador del compilador / F para establecer el tamaño de pila predeterminado, o especificarlo como el segundo parámetro de CreateThread .

En lugar de meterse con el tamaño de la pila, ¿por qué no simplemente usas un std :: vector o incluso asignas dinámicamente una matriz?

Podrías crear un nuevo hilo para este trabajo. En general, puede especificar el tamaño de la pila al crear un hilo y, ciertamente, con la función CreateThread () de vs2008

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top