Forskjellen mellom DLL og EXE i .Net

DLL vs EXE i .Net

Når du programmerer i .NET, får du et valg hvis du vil lage en EXE eller en DLL. Disse to begge inneholder kjørbar kode, men det er en forskjell mellom DLL og EXE i hvordan de fungerer. EXE står for kjørbar, noe som betyr at det er en utprosesserver. Hvis du kjører EXE, vil det skape sin egen tråd og ressurser vil bli allokert for det. I kontrast er en DLL en server i prosess, noe som betyr at du ikke kan kjøre en DLL-fil på egen hånd. En løpende applikasjon laster og kaller en DLL for å kunne benytte koden som er lagret i den.

Hovedformålet med en DLL er slik at du kan compartmentalize programmet. Dette reduserer kompleksiteten og gjør det lettere å finne problemer. Hvis du setter all koden i en enkelt kjørbar, ville det være ganske stor og det ville ta litt tid å laste. Du får også nytte av gjenbrukbarhet hvis du bruker DLLer. Si for eksempel at du har en kode som eksporterer en fil til et nytt format, hvis du setter det i en DLL, kan du bruke den funksjonen på omtrent hvilket som helst program du lager. Hvis du plasserte den i en EXE i stedet, kan bare det programmet bruke det, siden funksjonen ikke vil være synlig for andre. Så for generelle formål er bruk av DLLer veldig fordelaktig.

Når du kodes et program i. Nett, må du ha en kjørbar, da det ville være den som vil bli utført av brukeren. EXE-filen er viktig fordi den vil tjene som et inngangs- eller utgangspunkt for programmet. Du kan da ha så mange DLLer som du vil. Å ha mer enn en EXE er egentlig ikke tilrådelig som de ikke ville kunne benytte seg av den andre.

DLLer er veldig nyttige hvis du programmerer mye eller gjør ganske kompliserte og store applikasjoner. Men hvis du bare gjør et enkelt program, er det ikke nødvendig å bruke DLLer. Å holde koden i en enkelt EXE er enklere og mer praktisk.

Sammendrag:

  1. En EXE er en eksekverbar mens en DLL er en prosessserver
  2. DLLer er gjenbrukbare mens EXE er ikke
  3. Du bør bare ha en EXE, men du kan ha flere DLLer
  4. En EXE er viktig i .NET-programmering mens en DLL ikke nødvendigvis er nødvendig