Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Maksymalny rozmiar tablicy statycznie alokowanej

Ostatnio zmodyfikowano 2009-06-25 23:04
Autor Wiadomość
pekfos
Temat założony przez niniejszego użytkownika
Maksymalny rozmiar tablicy statycznie alokowanej
» 2009-06-23 17:00:22
Jaki jest maksymalny rozmiar tablicy alokowanej statycznie dla typów 8-bitowych? Jak wielka musi być tablica char aby program się wywalił?
P-7951
DejaVu
» 2009-06-23 20:56:21
Przyjmij, że suma wszystkich zmiennych zadeklarowanych statycznie nie powinna przekraczać 1MB. Wartość ta pod każdym kompilatorem będzie inna, a ponadto można ją prawdopodobnie zmieniać. Chcesz robić duże tablice to używaj do tego dynamicznej alokacji pamięci. Ma ona również limity, jednak są one znacznie większe niż alokacja statyczna tablicy w programie.
P-7960
DeBugger
» 2009-06-23 20:58:42
Ja powiem tak. Program nie ma prawa się wywalić, tylko jeżeli tablica będzie za duża, kompilator wywali error podczas kompilacji.

//edit:
Choć w skrajnych wypadkach...
P-7961
pekfos
Temat założony przez niniejszego użytkownika
» 2009-06-24 13:39:03
ale np mapę do gry
C/C++
short mapa[ 50 ][ 40 ] = {
    //..
};
lepiej statycznie alokować. chociaż nie próbowałem
robić takich rzeczy dynamicznie

duża tablica która zwaliła program
P-7995
DejaVu
» 2009-06-24 14:18:10
Lepiej alokować mapę dynamicznie i wczytać dane później z pliku. Statyczna tablica i jej wypełnienie = 1 poziom na sztywno wbity w kod. Mapy nie mogą mieć różnych rozmiarów i wogóle jest kicha. Tak podajesz nazwę pliku z mapą, stwierdza jak duża jest mapa, tworzy tablicę i wypełnia wartościami.
P-7998
lynx
» 2009-06-24 14:37:57
Użyj STL'a, np. vector'a ( dynamiczna tablica). Będziesz mógł robić mapy różnej wielkości i jest to wygodne w użyciu.
P-8001
lynx
» 2009-06-25 00:38:14
Przepełnienie stosu - poczytaj dowiesz się co nieco. (alokacja dużej tablicy)

@JCJ Hmmm... wątpię aby kompilator coś mówił (przynajmniej ja nic nie kojarze na teraz, być może się mylę) o takich wypadkach, po prostu program się wywali. :D
P-8023
lynx
» 2009-06-25 00:40:31
<double>
P-8024
« 1 » 2
  Strona 1 z 2 Następna strona