У меня трудное время из-за странной ошибки, которую я не могу понять.У меня есть файл заголовка (myheader.h), который определяет структуру с кучей неподписанных членов переменной int (~ 4500 переменных), как показано ниже.
myheader.h
typedef struct MYPARAM MYPARAM;
struct MYPARAM
{
unsigned int param1 :1;
unsigned int param2 :1;
unsigned int param3 :1;
...
unsigned int param4500 :1;
};
И в своем коде .c я включаю заголовок и инициализируюуказатель структуры MYPARAM, как показано ниже.
mycode.c
#incldue "myheader.h"
int main()
{
MYPARAM *pmyparam;
MYPARAM my_param;
pmyparam=&my_param;
printf("print anything"); <-- break point here.
}
Теперь моя проблема в том, что ... без причины, когда я смотрю pmyparam в точке останова, я получаю "неспособность прочитать память" для последних двух членов,Я пытался удалить участников до тех пор, пока не вижу сообщение, у 2446-го участника одно из «неспособных прочитать память» исчезает, а на 469-м другое сообщение исчезает.Другими словами, независимо от того, какую переменную я объявляю, если число членов превышает 469, я получаю «неспособно прочитать память» для последнего члена, а когда превышаю 2446, я получаю два последних члена «невозможно прочитать память».К вашему сведению, этот код прекрасно работал на Linux-машине с компилятором gcc.
Любая идея будет оценена.Заранее спасибо.