Dela via


Importera till ett program med hjälp av __declspec(dllimport)

Ett program som använder offentliga symboler som definieras av en DLL sägs importera dem. När du skapar huvudfiler för program som använder dina DLL:er för att bygga med, använd __declspec(dllimport) på deklarationerna av de offentliga symbolerna. __declspec(dllimport) Nyckelordet fungerar oavsett om du exporterar med .def-filer eller med nyckelordet __declspec(dllexport) .

Om du vill göra koden mer läsbar definierar du ett makro för och använder sedan makrot för __declspec(dllimport) att deklarera varje importerad symbol:

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

Det är valfritt att använda __declspec(dllimport) funktionsdeklarationer, men kompilatorn genererar effektivare kod om du använder det här nyckelordet. Du måste dock använda __declspec(dllimport) för att importera körbara filer för att få åtkomst till DLL:ns offentliga datasymboler och objekt. Observera att användarna av din DLL fortfarande behöver länka till ett importbibliotek.

Du kan använda samma rubrikfil för både DLL och klientprogrammet. Det gör du genom att använda en särskild symbol för förprocessorer som anger om du skapar DLL:en eller skapar klientprogrammet. Till exempel:

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

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

Vad vill du göra?

Vad vill du veta mer om?

Se även

Importera till ett program