Hvad er Heap mening for?

B

bittware

Guest
Hej gurus,
Sammenlignet med skorsten, som jeg forstår, hvorfor der også ofte behov for at indstille Heap størrelse i indlejrede program bygge mulighed?Hvad er Heap mening for?

Tak

 
En bunke for en proces, er et rum til opbevaring af visse former for data, herunder statiske variabler, eksterne variabler, dynamisk tildelt variabler osv. bunke plads til en given proces (program) automatisk fra operativsystemet.

 
Ok, når operativsystemet har indlæst dit program i hukommelsen og allocataed nogle espace for dine variabler. Du ender op med en blok af ledig hukommelse til at blive brugt af dine data ..og en skorsten er en datastruktur, der vil blive anvendt af dine rutiner, til at gemme data og afbryder information ..Så stakken bruges fra bunden af, at avalaible hukommelse blokere voksende opad efter dine behov .., Nu er programmet ikke kan vide, hvor meget stak anvendes op til et vist punkt. Forestil Dem, at nu du er dynamisk tildelte data strukturer. Gerne en database .. eller en samling af optegnelser eller strukturer. Hvor skal du hen for at sige det at vokse ..kan du ikke være sikker, jeg du lægger det tæt på stakken ..forårsage stakken kan vokse ind i det, og du mister din data. Det eneste sikre sted at starte fordelingen af disse data øverst på avalaible hukommelse blcok og vokse det ned mod stakken ..hopping, at der er masser af hukommelse, og begge vil ikke kollidere ..that's
the Heap!
Sidst redigeret af eltonjohn den
29. august 2004 3:05; redigeret 1 gang i den samlede

 
Med de fleste C eller C compilers, den bunke er regionen hukommelse bruges af malloc og nye.Det er normalt adskilt fra stakken og globale variable regioner.Normalt, men ikke altid!Omhyggeligt læse din compiler / linker manual til at forstå, hvordan det fungerer.

 

Welcome to EDABoard.com

Sponsor

Back
Top