A dll a programban Visual C
Szöveg verzió: 2.0
Sokan tudják, hogy van két alapvető módja van a DLL a programba - explicit és implicit.
Az explicit kapcsolat (explicit összekapcsolása) az alkalmazás kéri a LoadLibrary függvény betölti a DLL, majd a GetProcAddress funkciót kapunk egy mutatót a kívánt funkciót (vagy változó), és miután dolgozik velük a FreeLibrary kirak a könyvtár, és hagyják el a forrásokat.
A Visual C ++ 6.0 van egy másik módja annak, hogy csatlakozni DLL, amely egyesíti szinte minden előnye a két módszer a korábban tárgyalt - elhalasztották loading DLL (delay-terhelés DLL). Késleltetett terhelési támogatását igényli az operációs rendszer (és így működne, még a Windows 95), és végre egy kapcsoló Visual C ++ 6.0. Ha lusta rakodási a DLL betöltése csak akkor, ha az alkalmazás kapcsolódik az egyik funkció bennük. Ez átlátszó, a programozó számára (azaz oka LoadLibrary / GetProcAddress nem szükséges). A munka végeztével könyvtári funkciókat befejeződött, akkor a memóriában maradnak, vagy letöltés útján __FUnloadDelayLoadedDLL funkciót. Calling ezt a funkciót - az egyetlen kódváltoztatások, amelyek szükségesek lehetnek ahhoz, hogy a programozó (szemben az implicit kapcsolat DLL). Ha a szükséges DLL nem található, az alkalmazás összeomlik, de itt a helyzet lehet korrigálni, fogása kivétel alkalmazásával __try / __ kivéve építési. Mint látható, lusta rakodási DLL - egy nagyon praktikus eszköz a programozó.
Ezen kívül azt feltételezzük, hogy az import könyvtár tartalmazza MyDll.lib fájlt.
implicit kapcsolat
Ez a legegyszerűbb módja DLL programunk. Minden amire szükségünk van -, hogy adja át az összekötő importálja a könyvtár nevét, hogy ő használta a gyártási folyamatban. Ezt meg lehet tenni a különböző módokon.
Először is, akkor közvetlenül hozzá MyDll.lib fájlt a projekt team keresztül Projekt-> Hozzáadás Projekt-> Files. Másodszor, akkor adja meg a könyvtár nevét importálni linker lehetőségeket. Ehhez nyissa meg a projekt beállítások ablak (Projekt-> Beállítások). És hozzá az Object / Library modulok fül Link name MyDll.lib. Végül, akkor beágyaz egy linket az import könyvtár közvetlenül a forráskód a program. Erre a célra az irányelv #pragma c gombot megjegyzést. A mi esetünkben ez szükséges beszúrni egy sort a program:
Most már használhatja a programot a változók, függvények és osztályok szereplő DLL, mintha egy statikus könyvtár. Például: