ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
397918 Топик полностью
rezident (28.03.2013 16:59 - 17:05, просмотров: 267) ответил vmp на Для поднятия общего настроения. Вот реальный пример бага компилятора. Техподдержка признала ошибку, в следуюшей версии она была исправлена. Сразу предупреждаю - история древняя.
А я вот на такой баг натолкнулся при попытке изменить data alignment вложенных структур. У оригинального исходника везде (даже там где не нужно) стояло #pragma pack(1) Вот в этом случае попытка изменить выравнивание на 2 или 4 у первой структуры T_TSpot, которая вложена во вторую T_THarakter, приводит к критической ошибке #pragma pack(1) typedef struct T_TSpot { float f; float v; }T_TSpot; #pragma pack() #pragma pack(1) typedef struct T_THarakter { T_TSpot Hr[NUM_HAR_SPOT]; float Umin, Umax; float Vmin, Vmax; float Fmin, Fmax; float Imin, Imax; float Pmin, Pmax; float Popr; }T_THarakter; #pragma pack()
IAR C/C++ Compiler V5.50.1.50465/W32 for MSP430 Copyright 1996-2012 IAR Systems AB. Tool Internal Error: Internal Error: [CoreUtil/General]: Access violation (0xc0000005) at 005F0FB1 (reading from address 0x0) Internal Error: [CoreUtil/General]: Access violation (0xc0000005) at 005F0FB1 (reading from address 0x0) Error while running C/C++ compiler
На предыдущей версии компилятора 5.40 аналогичная ошибка возникала. Последние версии я еще не пробовал.