Kodėl meniu kodas, naudojant kai kuriuos RAM vietos?

T

tom12sg

Guest
Hi All,

Aš naudoju "Keil" sudarytojas ir
Aš apibrėžtos taip, kad vietos diske vietos:

const unsigned char kodas * menu_table [] = (
"Main Menu",
Redaguoti meniu ",
"Ieškoti" Menu ",
"Rodyti meniu",
Variantas meniu ",
"Slaptažodis" Menu ",
"Exit"
);

Tačiau po complie, aš pastebiu, kad RAM plotas išaugo per.Kodėl taip yra?
Ar yra koks nors kitas būdas nustatyti, kad nebūtų jokios įtakos RAM kosmoso poveikį.I'm Running out of ram!

Ačiū.

Linkėjimai,
Tomas

 
Define it like this:

kodas SOL_INFO_00 const char [] = "ger \ 1t aus";
kodas SOL_INFO_01 const char [] = "ranka";
kodas SOL_INFO_02 const char [] = "Blogas";
kodas SOL_INFO_03 const char [] = "Differenz";
kodas SOL_INFO_04 const char [] = "K \ 3hlung";
kodas SOL_INFO_05 const char [] = "DIF K \ 3hl";
kodas SOL_INFO_06 const char [] = "Frostschutz";
kodas SOL_INFO_07 const char [] = "\ 6berhitzung";
kodas SOL_INFO_08 const char [] = "MessTest";
kodas SOL_INFO_09 const char [] = "Verr. filtro";
kodas SOL_INFO_12 const char [] = "Laukiama";
kodas SOL_INFO_13 const char [] = "R \ 3cksp \ 3l"

kodas SOL_INFO_10 const char [] = "UNTERBROCHEN";
kodas SOL_INFO_11 const char [] = "KURZSCHLUSS";
kodas SOL_INFO_14 const char [] = "GD Ein2";

kodas const char * Solar_Infos [] =
(
SOL_INFO_00, / / Aus
SOL_INFO_01, / / Hand
SOL_INFO_02, / / Badtemperatur
SOL_INFO_03, / / Differenztemperatur
SOL_INFO_04, / / Solarkühlung
SOL_INFO_05, / / Differenztemperatur Solarkühlung
SOL_INFO_06, / / Kollektor Frostschutz
SOL_INFO_07, / / Kollektor Überhitzungsschutz
SOL_INFO_08, / / Testmessung
SOL_INFO_08, / / Testmessung
SOL_INFO_09, / / Verriegelung mit Filter
SOL_INFO_12, / / wegen Einschaltverzögerung
SOL_INFO_13, / / wegen Rückspülung
SOL_INFO_10, / / Problemos Kollektorfühler
SOL_INFO_10, / / Problemos Badfühler
SOL_INFO_14 / / wegen GD Ein2
);kitaip jūsų eilučių patenka į duomenų atmintis

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />nuoširdžiausi linkėjimai

 
Labas,
Po kai eksperimentinę,
jei i naujo mano meniu kaip dvi mat masyvas atrodo, kad išspręsti papildomų RAM naudojamo ploto problema, bet su papildomai naudojimo disko vietos.

const unsigned char kodas menu_table [] [14] = (
"Main Menu",
Redaguoti meniu ",
"Ieškoti" Menu ",
"Rodyti meniu",
Variantas meniu ",
"Slaptažodis" Menu ",
"Exit"
);C-Man, I'll try out your metodas ir pamatyti, kaip viskas vyksta.Ačiū.

Linkėjimai,
Tomas

 
Labas C vyras,

Aš bandžiau iš savo metodo, bet dar ir panaudoti papildomą RAM.
Pildėte Keil ar yra kokių nors nustatyti reikia todo į kompiliatorių pati.

Linkėjimai,
Tomas

 
tom12sg,

PM man savo kodą ir jūsų Makefile jei norite ir aš į ją pažvelgti.

nuoširdžiausi linkėjimai

 
Nepamirškite pareiškė masyvo narius būti const, bet ne rodyklė.

Paskelbti rodiklis yra pastovus, pagal ANSI galite paskelbti masyvas kaip

const unsigned char * const menu_table [] = (
.............
);

dirbti Keil atlikite šiuos veiksmus:

const unsigned char kodas * kodas menu_table [] = (
.............
);

kaip Keil neatitinka ANSI teisingai.

Linkėjimai
NTFreak

 

Welcome to EDABoard.com

Sponsor

Back
Top