Код
const char a1[]="a1";
const char a2[]="a2";
const char a3[]="a3";
const char*aa[]={a1,a2,a3};
a1, a2, a3 линкер ложит во флеш, а аа линкер ложит в RAM.const char a2[]="a2";
const char a3[]="a3";
const char*aa[]={a1,a2,a3};
Как заставить линкер положить aa во флеш?
Пробовал делать:
Код
const char*aa[]@".rodata"={a1,a2,a3};
Все равно линкер ложит aa в RAM.Единственный вариант, который работает, это:
Код
const long aa[]={(long)a1,(long)a2,(long)a3};
Но это некрасиво, потом везде в программе приходится пребразовывать long обратно в char*.Может кто-нибудь подскажет более красивое решение?