Avatar billede _et Praktikant
23. september 2004 - 22:34 Der er 11 kommentarer og
1 løsning

Stak/Heap - hvad er det, og hvordan bruges den.

Jeg vil gerne høre, lidt om hvad stakken er, og hvilken rolle den spiller for mig, i min programmering?

Kan jeg få noget ud af at sætte mig ind i precis hvordan den virker, eller er det bare automatik?

Kan den bruges i forbindelse med debugging?
Avatar billede arne_v Ekspert
23. september 2004 - 22:37 #1
Stakken og heap er to områder af memory.

Lokale variable ligger i stak. Objekter du allokerer ligger i heap.
Avatar billede arne_v Ekspert
23. september 2004 - 22:37 #2
Medmindre du interesserer dig for hvad der sker bagved når dit program kører
er det ikke så relevant.
Avatar billede jakobandersen Nybegynder
23. september 2004 - 22:41 #3
Det er lettere at pointe dig til noget allerede skrevet end at gentage en masse:

http://en.wikipedia.org/wiki/Stack_%28computing%29
http://en.wikipedia.org/wiki/Heap

Som arne_v siger er det ikke noget der berører dig og da slet ikke når du arbejder i et højniveau sprog som C#.
Avatar billede _et Praktikant
23. september 2004 - 22:42 #4
Jeg vil gerne vide noget om hvordan windows bruger memory ( Hvis du har et link )

Jeg ville gerne kunne forstå, hvad der sker, når et program går ned, og giver mig mulighed, for at debugge i assamblerkode ( Men det kræver vel en god forståelse af memory styring )
Avatar billede arne_v Ekspert
23. september 2004 - 22:44 #5
Er det C# du koder i ?
Avatar billede _et Praktikant
23. september 2004 - 22:48 #6
Ja - jeg syntes at det har været nemmere at gå til, med hensyn til at lære OOP.

Jeg har tidligre beskæftiget mig med c++ ( til Win apps ), men MFC er ikke lige sådan at gå til, når man kommer fra VB, så jeg prøvede C#, og det har givet mig forståelsen bag OOP.
Avatar billede arne_v Ekspert
23. september 2004 - 22:51 #7
Jeg tror at det er svært at gå ned på det niveau med C#.

C++ ---(C++ compiler)---> native instruktioner

C# ---(C# compiler)---> MSIL ---(.NET runtime)---> native instruktioner
Avatar billede arne_v Ekspert
23. september 2004 - 22:54 #8
og et svar
Avatar billede _et Praktikant
23. september 2004 - 22:54 #9
Du mener at i C++, springer man "barnepigerne" over, og styrer det selv.??
Avatar billede arne_v Ekspert
23. september 2004 - 22:56 #10
Nej - jeg mente mere konkret at det vil være meget sværere at relatere
native instruktioner til C# kode end til C++ kode (unmanaged altså), fordi
der er et led mere imellem.
Avatar billede _et Praktikant
23. september 2004 - 22:59 #11
Nåå. Det er sværere at se hvad kode, bliver til i memory, pga. extra led.
Avatar billede clausc Nybegynder
24. september 2004 - 09:14 #12
Forskellen mellem stack og heap er relevante ved boxing/unboxing i .Net; og kan have indflydelse på performance. Du kan læse om boxing/unboxing i SDK hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester