import-Attribut

Die import-Direktive gibt eine andere IDL-, ODL- oder Headerdatei an, die Definitionen enthält, auf die Sie aus Ihrer IDL-Hauptdatei verweisen möchten.

import "filename" [[ , ... ]] ;

Parameter

filename

Gibt den Namen der zu importierenden Header-, IDL- oder ODL-Datei an.

Bemerkungen

Mit der import-Direktive werden alle IDL-Anweisungen in der importierten Datei, z. B. Typedefs, Konstantendeklarationen und Schnittstellendefinitionen, für den importierenden verfügbar. IDL-Datei.

Die importierte Datei wird getrennt von der importierenden IDL-Datei verarbeitet (d.h. der CPP-Präprozessor wird unabhängig aufgerufen). Auf diese Weise werden Präprozessor-Direktiven wie define nicht von einem importierten Header oder einer importierten IDL-Datei in die # importierende IDL-Datei überträgt.

Wie das C-Sprach-Präprozessormakro # enthält, weist die import-Direktive den Compiler an, Datentypen ein include, die in den importierten IDL-Dateien definiert wurden. Im Gegensatz # zur include-Direktive ignoriert die import-Direktive Prozedurprototypen, da keine Stubs für etwas in der importierten Datei generiert werden.

Spezifische Informationen zur Verwendung von Import zum Hinzufügen 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. Zum Beispiel beim Importieren von BASE. IDL in Abgeleitet. IDL, die generierte Headerdatei DERIVED. H enthält die # -Direktive include BASE.H.

Es gelten die folgenden Regeln:

  • Das Schlüsselwort import ist optional und kann in der IDL-Datei 0 (null) oder mehrmals angezeigt werden.
  • Jedes Importschlüsselwort kann mehr als einem Dateinamen 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. Er darf keine Prozeduren enthalten. Wenn auch nur eine Prozedur in der importierten Schnittstelle enthalten ist, müssen Sie ein lokales - oder UUID-Attribut angeben.
  • The import function is idempotent — that is, importing an interface more than once has no additional effect.

Hinweis

Das Verhalten der Import-Direktive ist unabhängig vom MIDL-Compilermodus switches /ms _ ext (Standardeinstellung), /osfund /app _ config. Der Compilermodus (/osf oder /ms _ ext) kann sich jedoch auf die Zeigerattributdekoration für importierte Typen auswirken. Weitere Informationen finden Sie unter Zeiger-Attribut-Typvererbung.

Beispiele

import "myoldodl.odl";  
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl"; 

Weitere Informationen

/app _ config

IDL-Datei (Interface Definition)

importlib

include

Importieren von System-Headerdateien

Importieren von Dateien und Typbibliotheken

/ms _ ext

/osf