Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Dll vs. exe
* DLL (Dynamic Link Library): DLL je knižnica funkcií a zdrojov, ktoré môžu používať viaceré programy. Nie je to spustiteľný program sám.
* exe (spustiteľné): Súbor EXE obsahuje pokyny pre samostatný program, ktorý je možné spustiť priamo.
Čo môžete dosiahnuť:
1. Vytvorte exe, ktorý * používa * DLL: Môžete vytvoriť spustiteľný súbor, ktorý * načíta * a používa funkcie v rámci DLL. Toto je typický spôsob využitia DLL. Budete musieť použiť programovací jazyk (ako C ++, C#, Python atď.) Na:
- Do svojho projektu zahrňte DLL.
- Zavolajte funkcie z DLL vo svojom kóde.
- Zostavte svoj kód do súboru EXE.
2. Vytvorte obal EXE: Ak chcete uľahčiť používanie DLL, môžete vytvoriť jednoduchý program EXE, ktorý:
- Načíta DLL.
- Poskytuje užívateľské rozhranie alebo argumenty príkazového riadku na interakciu s funkciami DLL.
Príklad (C ++):
Povedzme, že máte DLL s názvom `myLibrary.dll` s funkciou s názvom` callatesum`:
`` C ++
// myLibrary.cpp (zostavené do myLibrary.dll)
#include
int callatesum (int a, int b) {
Vráťte A + B;
}
`` `
Tu je návod, ako vytvoriť EXE, ktorý používa `mylibrary.dll`:
`` C ++
// main.cpp
#include
typedef int (*callatesUmfunction) (int, int);
int main () {
// Načítať DLL
HModule hModule =loadLibrary ("myLibrary.dll");
if (hmodule ==null) {
// Chyba rukoväte
návrat 1;
}
// Získajte adresu funkcie
CaltatesUmfunction sumfunction =(CalpulatesUmfunction) getProcaddress (HModule, "calpulatesum");
if (sumfunction ==null) {
// Chyba rukoväte
návrat 1;
}
// Zavolajte funkciu z DLL
int výsledok =sumfunkcia (5, 3);
printf ("Sum:%d \ n", výsledok);
// Zadajte DLL
Freelibrary (HModule);
návrat 0;
}
`` `
Dôležité:
* DLL sú špecifické pre platformu. DLL zostavený pre jeden operačný systém (napríklad Windows) nebude fungovať na inom (napríklad MacOS alebo Linux).
* DLLS závisí od iných knižníc. Ak sa DLL spolieha na iné knižnice, musíte zahrnúť do svojho projektu alebo sa uistiť, že sú k dispozícii v cieľovom systéme.
Ak potrebujete konkrétnejšiu pomoc, uveďte podrobnosti o DLL, ktorý máte, programovacím jazykom, ktorý používate, a funkcia, ktorú chcete dosiahnuť.