napisy w Avr-gcc

Apr 15, 2004 2 Replies

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required