__declspec(dllimport)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

Modifizierer, Schlüsselwort-Erweiterungen, Speicherklassenspezifizierer

Syntax

Form 1

 class __declspec( dllimport ) classDeclaration;

Form 2

 return_type __declspec( dllimport ) functionDeclaration;

Form 3

 data_type __declspec( dllimport ) dataName;

Das Speicherklassenattribut dllimport dient der Kompatibilität mit den Microsoft-Sprachen C und C++. Mit ihm können Funktionen, Daten und Objekte in eine DLL importiert werden. Das Speicherklassenattribut dllimport kann für eine Funktion oder template-Klasse angewendet werden. In diesem Fall wird es für jede Spezialisierung dieser template-Klasse verwendet.

Wenn eine Funktion mit dllimport gekennzeichnet ist, wird jeder bereitgestellte Inline-Funktionsrumpf ignoriert.

Zum Beispiel: Importieren einer Klasse:

   class _declspec(dllimport) A{
    private:
        int m_a;
        int m_b;
    public:
        int getA();
        int getB();
        void setA(int a);
        void setB(int b);
   };

Importieren einer globalen Funktion:

 extern "C" __declspec(dllimport) void switch (int *a, int *b);

Hinweis: Weil eine .DLL-Datei eine binäre Datei ist, erfordert das Importieren die vollständige Deklaration der Klasse/Funktion.

Hinweis: dllimport ersetzt das Schlüsselwort __import insofern, als es eine einfache Möglichkeit zum Importieren von Funktionen ohne die Notwendigkeit einer .DEF-Datei bereitstellt.

Für template-Klassen, siehe __declspec(dllexport).

Siehe auch