Witam
mam taki kod: const char *s = "jakis napis";
Czy ktos wie gdzie ten napis bedzie umieszczony? we flashu czy w ramie? a moze i tu i tam ;-( Czy modyfikatory typu : const,volatile itp s± w gcc jakos obslugiwane? Dzieki za odpowiedzi. jfk
Witam
mam taki kod: const char *s = "jakis napis";
Czy ktos wie gdzie ten napis bedzie umieszczony? we flashu czy w ramie? a moze i tu i tam ;-( Czy modyfikatory typu : const,volatile itp s± w gcc jakos obslugiwane? Dzieki za odpowiedzi. jfk
U¿ytkownik "jfk" snipped-for-privacy@poczta.fm napisa³ w wiadomo¶ci news:c5m07f$pdd$ snipped-for-privacy@inews.gazeta.pl...
chyba tu i tu
jesli chcesz tylko we flashu to musi byc zadeklarowany tak
const char PROGMEM *s = "jakis napis";
tylko wtedy uzywanie tego napisu jest troche utrudnione trzeba uzywac specjalnych wersji funckji oeprujacej na tym wskazniku
np func. strcpy operuje na wskaznikach w RAM
a strcpy_P(char *, PGM_P);
ma zrodlo w ROM (flash) a cel w RAM
U¿ytkownik "jfk" snipped-for-privacy@poczta.fm napisa³ w wiadomo¶ci news:c5m07f$pdd$ snipped-for-privacy@inews.gazeta.pl...
S±. "const" znaczy tylko tyle, ¿e kompilator nie pozwoli programi¶cie zmodyfikowaæ takiej zmiennej. Kompilator nie traktuje modyfikatora "const" jako wskazanie w jakiej pamiêci ma zostaæ umieszczona zmienna. "volatile" jest traktowane przez avr-gcc tak samo jak w ka¿dym szanowanym kompilatorze :-) Pozdrawiam Wojtek
Have something to add? Share your thoughts — no account required.
Ask the community — no account required