[ brankec @ 13.01.2009. 11:30 ] @
| Kako da proširim stack u Visual studio 2005 (ako je on definisan na 1MB). Na internetu sam nasao nesto ( /F [] STACK_SIZE) ali ne mogu to da primenim u svoj kod.
Recimo stavim
/F [] 2000000
ili veci, ali mi javlja neku gresku. Je li ovo pogrešan način ili sam unosio na pogrešnom mjestu (ispred, iza main() funkcije).
Inače kako se rešavaju problemi sa STACK OVERFLOW-om. Ja radim na programu koji ucitava podatke iz više fajlova pa ih onda obrađuje i ispisuje u drugi fajl, što znači da mi treba puno CHAR i LONG matrica. Ako treba mogu postaviti i svoj kod ali mislim da to ne bi imalo smila s obzirom na njegovu duzinu (400 linija koda). Verovatno ima veze i to što mi je program iz jedne cjeline, odnosno što nisam koristio funkcije (što planiram brzo ispraviti).
Bilo kakva pomoć bi mi kao početniku u programiranju puno značila. |
[ deerbeer @ 13.01.2009. 15:12 ] @
Stack se ne prosiruje u kodu vec u kompajler opcijama ...
Otvori property od projekta :
Configuration Properties->C/C++->CommandLine-> pa unesi /F [] Stack_value
a imas na msdnu :
http://msdn.microsoft.com/en-us/library/tdkhxaks(VS.80).aspx
Razmisli jos jednom o menjaju ovog settingsa , jer je po svoj prilici greska do tvog koda (stack overflow)
[ EArthquake @ 13.01.2009. 21:06 ] @
a da koristis heap ?
tj dinamicku memoriju ?
jedini problem za koji ja znam da je neophodno povecati stek jeste kada
jedna funkcija poziva veliki broj funkcija , ili se pak radi o rekurzivnoj funkciji
[ brankec @ 13.01.2009. 21:47 ] @
Našao sam problem u svom kodu koji, naravno, nema veze sa stekom ali još nisam siguran zašto ga imam i kako da ga rešim. U svakom slučaju saveti koji ste mi dali su mi pomogli i naterali me da ponovo pregledam kod i na to vam hvala (a i naučio sam nešto o steku).
Do sledećeg problema ...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.