Цитата(zubr @ May 5 2006, 16:54)

Здравствуйте!
Хочу поделиться глюком, найденным мной:
Жуткие вещи рассказываете..
Привожу к повторяемому виде:
unsigned short w;
w=0x55AA;
printf( "%4X", w );
((unsigned char*)&w)[0]=0x33;
printf( "%4X", w );
IAR 4.31A работает правильно при любых вариантах оптимизации.
Цитата
register short int w, то получаем недвусмысленное матюгательство ""main.cpp", line 19: Error: C3022E: 'register' attribute for 'w' ignored when address taken
main.cpp: 0 warnings, 1 error, 0 serious errors
Естественно на такое безобразие IAR ругается не менее однозначно
Warning [Pe138] : taking the address of a register variable is not allowed ....
Цитата
Мораль - пора завязывать с IAR
Windows MUSTDIE, тьфу, IAR...
А может проще:
1. Не подавлять warnings;
2. Надо завязывать с использованием антикварного компилятора 2.30.