Rozdiel medzi DLL a EXE v .Net

DLL vs EXE v .Net

Pri programovaní v prostredí .NET máte na výber, či chcete vytvoriť súbor EXE alebo DLL. Obidva tieto programy obsahujú spustiteľný kód, existuje však rozdiel medzi tým, ako fungujú knižnice DLL a EXE. EXE znamená spustiteľný súbor, čo znamená, že ide o server mimo procesu. Ak spustíte EXE, vytvorilo by to jeho vlastné vlákno a prostriedky naň budú pridelené. Naproti tomu DLL je server v procese, čo znamená, že súbor DLL nemôžete spustiť samostatne. Spustená aplikácia načíta a volá DLL, aby mohla využiť kód v nej uložený.

Hlavným účelom DLL je, aby ste si mohli program rozdeliť na niekoľko častí. To znižuje zložitosť a uľahčuje lokalizáciu problémov. Ak vložíte celý svoj kód do jediného spustiteľného súboru, bude to dosť veľké a načítanie bude trvať dosť dlho. Výhoda opakovaného použitia získate aj v prípade, že používate knižnice DLL. Povedzme napríklad, že máte kód, ktorý exportuje súbor do nového formátu, ak ho vložíte do knižnice DLL, môžete túto funkciu použiť na takmer akýkoľvek program, ktorý vytvárate. Ak ste ju namiesto toho umiestnili do EXE, môže ju používať iba táto aplikácia, pretože táto funkcia nebude pre ostatných viditeľná. Pri úlohách na všeobecné použitie je použitie DLL veľmi výhodné.

Pri programovaní programu v prostredí .Net musíte mať spustiteľný program, pretože by to bol ten, ktorý vykoná užívateľ. Súbor EXE je nevyhnutný, pretože by slúžil ako vstup alebo východiskový bod pre váš program. Potom môžete mať toľko knižníc DLL, koľko chcete. Mať viac ako jeden EXE nie je v skutočnosti vhodné, pretože jeden by druhý nemohol využiť.

DLL sú veľmi užitočné, ak programujete veľa alebo robíte dosť komplikované a rozsiahle aplikácie. Ale ak práve vytvárate jednoduchý program, použitie DLL nie je potrebné. Udržiavanie kódu v jednom EXE je jednoduchšie a pohodlnejšie.

Zhrnutie:

  1. EXE je spustiteľný súbor, zatiaľ čo DLL je server v procese
  2. DLL sú opakovane použiteľné, zatiaľ čo EXE nie
  3. Mali by ste mať iba jedno EXE, ale môžete mať viac DLL
  4. EXE je nevyhnutný pri programovaní .NET, zatiaľ čo DLL nemusí byť nevyhnutne nevyhnutná