import-Attribut
Die Importdirektive gibt eine weitere IDL-, ODL- oder Headerdatei an, die Definitionen enthält, auf die Sie aus Ihrer Standard IDL-Datei verweisen möchten.
import "filename" [[ , ... ]] ;
-
filename
-
Gibt den Namen der zu importierenden Header-, IDL- oder ODL-Datei an.
Mit der Importdirektive werden alle IDL-Anweisungen in der importierten Datei, z. B. typedefs, konstanten Deklarationen und Schnittstellendefinitionen, für den Importieren verfügbar. IDL-Datei.
Die importierte Datei wird separat von der importierenden IDL-Datei verarbeitet (d. h. der CPP-Präprozessor wird unabhängig aufgerufen). Auf diese Weise übertragen Präprozessoranweisungen, z. B. #define, nicht von einer importierten Header- oder IDL-Datei in die importierende IDL-Datei.
Wie das C-Sprach-Präprozessormakro #include weist die Importdirektive den Compiler an, Datentypen einzuschließen, die in den importierten IDL-Dateien definiert wurden. Im Gegensatz zur #include-Anweisung ignoriert die Importdirektive Prozedurprototypen, da für nichts in der importierten Datei keine Stubs generiert werden.
Spezifische Informationen zur Verwendung des Imports zum Einschließen von Headerdateien in eine IDL-Datei finden Sie unter Importieren von Systemheaderdateien.
Der C-Sprachheader (. H) die für die Schnittstelle generierte Datei enthält nicht direkt die importierten Typen, sondern generiert stattdessen eine #include-Direktive für die Headerdatei, die der importierten Schnittstelle entspricht. Beispielsweise beim Importieren von BASE. IDL in Abgeleitet. IDL, die generierte Headerdatei ABGELEITET. H enthält die Anweisung #include BASE.H.
Es gelten die folgenden Regeln:
- Der Import Schlüsselwort (keyword) ist optional und kann in der IDL-Datei 0 oder mehr mal angezeigt werden.
- Jedem Import Schlüsselwort (keyword) kann mehr als ein Dateiname zugeordnet werden.
- Trennen Sie mehrere Dateinamen durch Kommas.
- Sie müssen den Dateinamen in Anführungszeichen einschließen und die import-Anweisung mit einem Semikolon (;).
- Sie können eine Schnittstelle ohne Attribute in eine andere IDL-Datei importieren. Die Schnittstelle darf jedoch nur Datentypen enthalten. Es darf keine Prozeduren enthalten. Wenn in der importierten Schnittstelle auch nur eine Prozedur enthalten ist, müssen Sie ein lokales oder UUID-Attribut angeben.
- Die Importfunktion ist idempotentâ â€"â, d. h. das mehr als einmal importieren einer Schnittstelle hat keine zusätzlichen Auswirkungen.
Hinweis
Das Verhalten der Importdirektive ist unabhängig von den MIDL-Compilermodusoptionen /ms_ext (Standard), /osf und /app_config. Der Compilermodus (/osf oder /ms_ext) kann sich jedoch auf die Zeigerattributedekoration für importierte Typen auswirken. Ausführliche Informationen finden Sie unter Vererbung des Zeiger-Attributtyps.
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";