Samo zadeklarowanie tablicy char mmap[500][500]; nic złego nie robi, jednak wystarczy char mmap[5][500][500]; i gra którą pisze się crashuje. Co jest tego przyczyną i jak temu zaradzić?
Jeżeli reszta kodu traktuje char mmap[5][500][500]
tak samo jak char mmap[500][500]
to się nie dziwię, że wywala. Przecież to są różne rzeczy o różnych typach.
stworzenie tablicy [5][256][256] nie crashuje, ale stworzynie kilku takich tablic char (testowalem na 6 tablicach) juz wywoluje crasha
Jaki błąd przy tym crashu? Pokaż kod. Jeżeli alokujesz te tablice na stosie to mógł ci się on po prostu skończyć.
Rev napisał(a):
Jaki błąd przy tym crashu? Pokaż kod. Jeżeli alokujesz te tablice na stosie to mógł ci się on po prostu skończyć.
Po prostu program przestał działać
Perkusista napisał(a):
Po prostu program przestał działać
Weź GDB i za pomocą GDB uruchom ten program. Niech Ci pokaże w którym miejscu kod się krzaczy, i jaki sygnał Ci wyrzuca.
To normalne.
500 x 500 = 250 k
250k x 5 = 1,2 M
Jeśli używasz Visual Studio zajrzyj tutaj: https://msdn.microsoft.com/en-us/library/tdkhxaks.aspx
a jeśli nie to poczytaj jak ustawić "stack size" w swoim kompilatorze.
jeszcze dziwi mi to że w genaratorze mapy do tej gry zrobiłem tablice [100][1000][1000] i śmiga