Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Importdirektivet anger en annan IDL-, ODL- eller rubrikfil som innehåller definitioner som du vill referera till från huvud-IDL-filen.
import "filename" [[ , ... ]] ;
Parameters
-
filename
-
Anger namnet på rubriken, IDL- eller ODL-filen som ska importeras.
Anmärkningar
Med importdirektivet blir alla IDL-instruktioner i den importerade filen, till exempel typedefs, konstanta deklarationer och gränssnittsdefinitioner tillgängliga för importen. IDL-fil.
Den importerade filen bearbetas separat (vilket innebär att CPP-förprocessorn anropas separat) från den importerande IDL-filen. På så sätt överförs inte förbearbetningsdirektiv, till exempel #define, från ett importerat huvud eller en IDL-fil till den importerande IDL-filen.
Precis som makrot för C-språkförprocessorn #include uppmanar importdirektivet kompilatorn att inkludera datatyper som har definierats i de importerade IDL-filerna. Till skillnad från #include-direktivet ignorerar importdirektivet prototyper av proceduren, eftersom inga stubs genereras för något i den importerade filen.
Specifik information om hur du använder import för att inkludera huvudfiler i en IDL-fil finns i Importera systemhuvudfiler.
C-språkrubriken (. H)-filen som genereras för gränssnittet innehåller inte direkt de importerade typerna utan genererar i stället ett #include direktiv för huvudfilen som motsvarar det importerade gränssnittet. Till exempel när du importerar BASE. IDL till din DERIVED. IDL, den genererade huvudfilen DERIVED. H innehåller direktivet #include BASE.H.
Följande regler gäller:
- Nyckelordet importera är valfritt och kan visas noll eller flera gånger i IDL-filen.
- Varje importnyckelord kan associeras med fler än ett filnamn.
- Avgränsa flera filnamn med kommatecken.
- Du måste omsluta filnamnet inom citattecken och avsluta importinstruktionen med ett semikolon (;).
- Du kan importera ett gränssnitt som inte har några attribut till en annan IDL-fil. Gränssnittet får dock bara innehålla datatyper. den får inte innehålla några procedurer. Om även en procedur finns i det importerade gränssnittet måste du ange ett lokalt attribut eller UUID-attribut .
- Importfunktionen är idempotent – det vill sa att import av ett gränssnitt mer än en gång inte har någon ytterligare effekt.
Anmärkning
Beteendet för importdirektivet är oberoende av MIDL-kompilatorlägesväxlarna /ms_ext (standard), /osf och /app_config. Kompilatorläget (/osf eller /ms_ext) kan dock påverka dekoration av pekarattribut på importerade typer. Mer information finns iPointer-Attribute Typ arv.
Exempel
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";
Se även