Forskellen mellem DLL og EXE i .Net

DLL vs EXE i. Net

Når du programmerer i .NET, får du et valg, hvis du vil oprette en EXE eller en DLL. Disse to indeholder begge eksekverbar kode, men der er en forskel mellem DLL og EXE i, hvordan de fungerer. EXE står for eksekverbar, hvilket betyder, at det er en out-process-server. Hvis du kører EXE, vil det oprette sin egen tråd, og ressourcer vil blive allokeret til det. I modsætning hertil er en DLL en server under processen, hvilket betyder, at du ikke kan køre en DLL-fil på egen hånd. Et kørende program indlæser og kalder en DLL for at gøre brug af koden, der er gemt i den.

Hovedformålet med en DLL er, så du kan opdele dit program. Dette reducerer kompleksiteten og gør det lettere at lokalisere problemer. Hvis du lægger al din kode i en enkelt eksekverbar, ville den være ret stor og det vil tage ganske lang tid at indlæse. Du får også fordelen ved genanvendelighed, hvis du bruger DLLs. Sig for eksempel, at du har en kode, der eksporterer en fil til et nyt format, hvis du lægger den i en DLL, kan du bruge denne funktion på næsten ethvert program, du laver. Hvis du i stedet placerede den i en EXE, kan kun den applikation bruge den, da funktionen ikke er synlig for andre. Så til generelle opgaver er det meget fordelagtigt at bruge DLL'er.

Når du koder et program i .Net, skal du have en eksekverbar, da det ville være det, der vil blive udført af brugeren. EXE-filen er vigtig, da den vil tjene som en indgang eller et startpunkt for dit program. Du kan derefter have så mange DLL'er, som du vil. At have mere end en EXE anbefales ikke rigtig, da de ene ikke ville være i stand til at gøre brug af den anden.

DLLs er meget nyttige, hvis du programmerer meget eller laver ret komplicerede og store applikationer. Men hvis du bare laver et simpelt program, er det ikke nødvendigt at bruge DLLs. At holde koden i en enkelt EXE er enklere og mere praktisk.

Resumé:

  1. En EXE er en eksekverbar, mens en DLL er en server under processen
  2. DLL'er kan genanvendes, mens EXE ikke er det
  3. Du skal kun have en EXE, men du kan have flere DLL'er
  4. En EXE er essentiel i .NET-programmering, mens en DLL ikke nødvendigvis er vigtig