Udostępnij za pośrednictwem


Importowanie do aplikacji przy użyciu atrybutu __declspec(dllimport)

Program, który używa publicznego symboli zdefiniowanych przez bibliotekę DLL mówi się je zaimportować.Po utworzeniu plików nagłówkowych w przypadku aplikacji korzystających z bibliotek DLL do budowania z, użycie __declspec(dllimport) w deklaracjach publicznych symboli.Słowo kluczowe __declspec(dllimport) działa, czy eksportować z plikami o rozszerzeniu def lub z __declspec(dllexport) słowa kluczowego.

Aby zwiększyć czytelność kodu, należy zdefiniować makro dla __declspec(dllimport) , a następnie użyć makra uznaniu każdego symbolu przywożone:

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

Za pomocą __declspec(dllimport) jest nieobowiązkowe w deklaracji funkcji, ale kompilator generuje kod bardziej efektywne użycie słowa kluczowego.Jednakże, należy użyć __declspec(dllimport) dla przywozu pliku wykonywalnego dostęp do danych publicznych symbole i obiekty biblioteki DLL.Należy zauważyć, że użytkownicy biblioteki DLL nadal konieczne jest połączenie z biblioteką importu.

Można użyć tego samego pliku nagłówka dla biblioteki DLL i aplikacji klienckiej.W tym celu należy użyć specjalnego preprocesora symbol, który wskazuje, czy budowanie biblioteki DLL lub budowania aplikacji klienta.Na przykład:

#ifdef _EXPORTING
   #define CLASS_DECLSPEC    __declspec(dllexport)
#else
   #define CLASS_DECLSPEC    __declspec(dllimport)
#endif

class CLASS_DECLSPEC CExampleA : public CObject
{ ... class definition ... };

Co chcesz zrobić?

O czym chcesz się dowiedzieć więcej?

Zobacz też

Koncepcje

Importowanie do aplikacji