Я использую Visual Studio 2010.
У меня есть массив трехмерной структуры, который, я думаю, дает мне неправильную ошибку.Массив определяется от
#define BUCKETS 2048
#define B_ENTRIES 4096
typedef struct fpinfo
{
unsigned long long offset;
unsigned long length;
char fing_print[33];
}fpinfo;
как
struct fpinfo search_buf[TNK_CACHE_SIZE][BUCKETS][B_ENTRIES];
Проблема в том,
, когда я определяю TNK_CACHE_SIZE до 6, он не даетмне ошибка времени компиляции, но есть ошибка нарушения доступа во время выполнения, когда я пытаюсь записать в него.
с другой стороны, если я определяю TNK_CACHE_SIZE в 3, это дает мне следующееОшибка времени компиляции.
1> ССЫЛКА: фатальная ошибка LNK1248: размер изображения (86CB7000) превышает максимально допустимый размер (80000000)
1) Почему игнорируется первыйобъявление во время компиляции, но не для второго, когда оно составляло только половину первого.
2) Каков максимально допустимый размер объявления в стеке?
3) Включает ли этот допустимый размер все остальные выделения памяти в проекте или это одно выделение памяти за другим до тех пор, пока не останется больше не выделяемой области памяти и последний не былмогут быть выделены помечены?