c # - Stack/Heap forskelle mellem. NET EXE'er og DLL'er

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er forvirret af dette problem i lang tid:


. NET EXE og DLL-filer har begge adresserum. Jeg ved, at de begge har kodeplads og globalt variabelt rum. Men jeg vil gerne vide, om DLL'er har deres egen bunke og stakplads.

Bedste reference


Processen ejer bunken. Hver tråd ejer sin egen stak. Når en EXE kalder en funktion i en DLL, anvendes samme stak, fordi funktionsopkaldet er inden for samme tråd.


Det andet punkt at gøre er, at processen har adresserummet, hvori EXE og DLL er indlæst.

Andre referencer 1


SÅ VIDT JEG VED,


EXE:



  • Det er en eksekverbar fil.

  • Når et system lancerer ny exe, oprettes en ny proces



DLL



  • Det er et dynamisk link bibliotek.



Tjek her for mere: Forskelle mellem exe og dll