По дизассемблеру там, в частности, следующее:
Код
__iar_zero_init:
Region$$Table$$Limit:
00000150 E3520000 CMP R2, #0x0
00000154 012FFF1E BXEQ LR
00000158 E3A01000 MOV R1, #0x0
0000015C E4801004 STR R1, [R0], #+4
00000160 E2522004 SUBS R2, R2, #0x4
00000164 1AFFFFFC BNE 0x00015C
00000168 E12FFF1E BX LR
Программа такая:
Код
int main()
{
static int MyVar;
return MyVar;
}
Оптимизация выключена, инициализация происходит как надо.