avr-gcc: предупреждение об отключении атрибута '__progmem__' игнорируется

Кто-нибудь знает, как это предупреждение можно подавить? у меня нет возможности их избежать (они связаны с используемой мной структурой).

Спасибо!


person Dill    schedule 24.06.2009    source источник
comment
Вы уверены, что разместили __attribute__((...)) в правильном месте?   -  person    schedule 01.10.2016


Ответы (2)


На справочной странице gcc(1):

-Wno-attributes

Do not warn if an unexpected "__attribute__" is used, such as unrecognized attributes, function attributes applied to variables, etc. This will not stop errors for incorrect use of supported attributes.

person Ville Laurikari    schedule 24.06.2009

просто добавьте static в свою декларацию

PROGMEM static char my_byte[100] = {0x00,0x01,0x02,0x03 ...... }

затем получить его как

char any_byte;
int index;
any_byte = pgm_read_byte(&(my_byte[index])) ;
person ADNAN    schedule 11.07.2010
comment
Переменные должны быть объявлены константными, чтобы их можно было поместить в память программы. - person ; 01.10.2016