Skillnaden mellan DLL och EXE i .Net



DLL vs EXE i Net

Vid programmering i .NET, får du ett val om du vill göra en EXE eller DLL. Dessa två båda innehåller körbar kod, men det finns en skillnad mellan DLL och EXE i hur de fungerar. EXE står för körbara, vilket innebär att det är en out-process-server. Om du kör EXE, skulle det skapa sin egen tråd och resurser kommer att tilldelas för det. Däremot är en DLL en process server, vilket innebär att du inte kan köra en DLL-fil på egen hand. Ett program som körs laster och uppmanar en DLL för att utnyttja den kod som lagras i den.

Det huvudsakliga syftet med en DLL är så att du kan compartmentalize ditt program. Detta reducerar komplexiteten och gör det lättare att lokalisera problem. Om du lägger all din kod i en enda körbar, skulle det vara ganska stora och skulle ta ganska lång tid att ladda. Du får också fördelen av återanvändning om du använder DLL-filer. Säg till exempel att du har en kod som exporterar en fil till ett nytt format, om du lägger det i en DLL, kan du använda denna funktion på nästan alla program du gör. Om du placerade den i en EXE stället kan endast det programmet använda det eftersom funktionen vann 't vara synlig för andra. Så för allmänna arbetsuppgifter ändamål, är mycket fördelaktigt att använda DLL.

När kodning ett program i Net, måste du ha en körbar eftersom det skulle vara en som kommer att utföras av användaren. EXE-filen är viktigt eftersom det skulle fungera som en ingång eller utgångspunkten för ditt program. Du kan då ha så många DLL som du vill. Med mer än en EXE är inte riktigt klokt som de man inte skulle kunna använda sig av den andra.



DLL är mycket användbart om du programmera en hel del eller göra ganska komplicerade och stora applikationer. Men om du bara gör ett enkelt program, är det inte nödvändigt att använda DLL. Hålla koden i en enda EXE är enklare och bekvämare.

Sammanfattning:

En EXE är en körbar medan en DLL är en in-process-server

DLL-filer är återanvändbara medan EXE är inte

Du bör endast ha en EXE men du kan ha flera DLL