ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
198410 Топик полностью
rezident (18.06.2010 17:57, просмотров: 134) ответил DragonS на >Последние версии компилятора очень любят оптимизировать обращение к константам с абсолютным адресом, располагая их значение непосредственно в месте использования. И для того, чтобы надавать компилятору "по рукам" приходится несколько
Проблема лишь с инициализированными константами, расположенными по абсолютному адресу. Я решил для себя эту проблему таким способом #pragma pack(2) typedef struct InfoConst_t { int aaa; int bbb; char ccc; char ddd; } InfoConst_t; #pragma pack() #pragma location=0x1000 __no_init const InfoConst_t InfoConst; //объявление неиницилизированной структуры констант #pragma location=0x1000 const InfoConst_t InfoConstDef= //объявление иницилизированной структуры констант { 3000, 5000, 7, 15 }; #pragma required=InfoConstDef далее в программе я работаю с структурой под именем InfoConst. Компилятор естественно выдает Warning на такое объявление, но приходится его игнорировать. Ничего более удобного я не придумал.