Dll hívás c függvény

DLL (angol DLL -. Dynamic Link Library) - a Microsoft által alkalmazott osztott könyvtárakat Windows és OS / 2 Normális könyvtárak a fájl kiterjesztése *. dll, *. OCX (könyvtárak tartalmazó ActiveX kontrollok) vagy a *. drv (illesztőprogramok régebbi verziójú OS). DLL struktúra ugyanaz, mint a PE-fájlokat (Portable Executable) a 32-64 bites Windows és Új-Végrehajtható (NE) 16 bites Windows. DLL tartalmazhatnak kód, az adatok és a források, bármilyen kombinációban.

népszerű bejegyzés

Különböző programok osztott környezet sokszor azonos műveleteket hajtják végre, például egy kereszt a jobb felső sarokban az ablak bezárásához, állítják egyaránt a legtöbb program. Dolog lenne, hogy ezeket a programokat, volt a megfelelő funkciót - ez lett legyezte méretük. Ezért érthető, hogy az ilyen funkciók járt el közös használatra. Erre a könyvtár dinamikus kötés. A megfelelő funkciók töltenek be a számítógép memóriájában a program fájlt, de a speciális fájl már végrehajtás. Tény, hogy az operációs rendszer nem tölti be őket újra. Ha fut a program előírja, hogy a terhelés dinamikus könyvtárakat, az operációs rendszer ellenőrzi, így a könyvtár már a memóriában. Ha igen, akkor az operációs rendszer növeli a számláló az ügyfelek számára a dynamic link library egységet. Befejezése után a munka, a program azt mondja az operációs rendszer az igény, hogy kirak a megosztott könyvtárba. Ebben az esetben az operációs rendszer csökkenti az ügyfél számláló eggyel. Ha e csökkentés után az ügyfelek száma eléri a nullát, akkor a dinamikus könyvtár valóban kikerül a számítógép memóriájában.

Windows, dinamikus könyvtárakat tárolják kiterjesztésű fájlok *. dll. Amellett, hogy a szubrutin ott is tárolhatjuk más források, mint például ilibitmapy ikonok. Az alkalmazás-kód, amely egy funkciót a dynamic link library, be- és kirakodás a könyvtár regisztrálni kell azonnal. A fordító nem szükséges funkció kód szerepel a megosztott könyvtárakat. Amikor a program elindul, akkor azonban, keresse meg a megfelelő dll. Ha ez a dll nem található meg a számítógépen, akkor a program általában nem kell elvégezni, és megjelenít egy üzenetet hiányában a dynamic link library.

Dll hívás c függvény

Miután kiválasztotta, adja meg a nevét, majd kattintson az OK gombra, majd kattintson a Tovább gombra, és válaszd ki az Application Type „DLL könyvtár.”

Dll hívás c függvény

Ezután kapsz a fájlt, ahol szeretné, hogy írjon egy dll programot.

Példa az írás dll fájl

A legegyszerűbb példa a kód a következő:

#include "stdafx.h"
#include

extern "C ++" __declspec (dllexport) void LetterList ()
std :: cout <<"This function was called from LetterList() " <>

extern "C ++" __declspec (dllexport) int PutInt (int param)
visszatérés param;
>

Egy függvény egy üzenetet jelenít meg, a másik visszatér kapott értéket.

Akkor összeállításához dll, és kap 2 kép: .. Dll és *** *** lib (az én például akkor dll.dll és dll.lib), akkor létre kell hozni egy fejléc fájlt (*** h az enyémben. például, akkor dll.h), amely meghatározza a funkciókat, amelyek ebben a dll fájlt.

Egy példa az írás a header fájlban:

void LetterList ();
int PutInt (int param);

Ebben leírjuk egy prototípus a funkciókat. Ez a fájl akkor beilleszteni a programba, amely összekapcsolja a dll fájlt.

DLL függvény hívás c ++

Sokan fel a kérdést: hogyan hívja a funkciót a dll fájlokat a C ++. Ebben a cikkben, azt leírni.

Tehát, már összeállított dll fájlt, Libéria és fejléc fájlt. Mindez azt másolja be a programot, ahol mi fog kapcsolódni a dll fájlt.

Ehhez hozzon létre egy új projektet: File - New - Project - konzol alkalmazások Win32 (például) - Kész. Ebben a projektben akkor vkidyvaete hol van az exe fájlt, és dll.dll dll.lib és Heder fájlt (dll.h) vkidyvaete meg, ahol a fejléc fájlokat a projekt.

Az eredményül kapott fájl belépünk a programkód, amely hívjuk a két funkció (PutInt és LetterList)

#include "stdafx.h"
#include "dll.h"
#include
#include

int _tmain (int argc, _TCHAR * argv [])
int x = PutInt (5);
LetterList ();

Felhívjuk figyelmét, hogy mi is fejléc fájlt (#include „dll.h”), amelyet azért hoztunk létre.

Már van néhány)))

Csatlakozó a dll fájlt a Visual Studio

Csak csatlakoztatni kell a fájlt. Ez úgy történik, a Visual Studio a következő: Project - Tulajdonságok - Kompanovschik - Input - További függőségek. Ott nem teszik az utat a faylu.lib

Dll hívás c függvény

Az én esetemben - ez: D: \ stúdió \ Primer \ Debug \ dll.lib;

Most építeni a projekt, és kap a következő eredménnyel:

Dll hívás c függvény

Ez működik a dll fájlokat. Úgy vélem, hogy ez a legegyszerűbb módszer, hogy működjön együtt dinamikusan betölthető könyvtárakat.

Tehát: ebben a cikkben, én válaszoltam vospros:

Meg kell, mint ez:

* .dll és * .lib a Debug mappában, és a * .h a projektben.

Dll hívás c függvény