Итак, я делаю текстовую игру и столкнулся с проблемой. Я сделал карту 101 на 101 следующих struct
элементов для каждой плитки:
struct tile
{
char name[21];
short id;
char description[100];
}; //End tile struct
Это занимает чуть более 1 МБ памяти. Если я изменю размер карты на 103 на 103, то все будет нормально; но, если я изменю его на 151 на 151, программа выйдет из строя, когда я попытаюсь войти в свою функцию сохранения.
Есть ли для этого причина и, если да, могу ли я это исправить?
Я использую 64-битную систему, поэтому, насколько мне известно, указатели должны иметь возможность адресовать все правильно, но, возможно, я ошибаюсь.
EDIT : функция для воспроизвести это будет:
int main()
{
struct tile map[151][151];
mapGen(map);
} //End main
Что делает функция mapGen
, на самом деле не имеет значения, поскольку это не проблема. Мне сказали, что стек может содержать только 1 МБ памяти и, как только он пытается загрузить main
(или save()
, в моем случае), он приводит к сбою программы.