Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dyrektywa import określa inny plik IDL, ODL lub nagłówka zawierający definicje, do których chcesz się odwołać z głównego pliku IDL.
import "filename" [[ , ... ]] ;
Parametry
-
filename
-
Określa nazwę nagłówka, IDL lub pliku ODL do zaimportowania.
Uwagi
Dzięki dyrektywie import wszystkie instrukcje IDL w importowanym pliku, takie jak typedefs, deklaracje stałe i definicje interfejsu stają się dostępne dla importowania . Plik IDL.
Zaimportowany plik jest przetwarzany oddzielnie (co oznacza, że preprocesor CPP jest wywoływany niezależnie) z importowanego pliku IDL. W ten sposób dyrektywy przed procesorem, takie jak #define, nie są przenoszone z zaimportowanego nagłówka lub pliku IDL do importowanego pliku IDL.
Podobnie jak makro preprocesora języka C #include, dyrektywa importowania nakazuje kompilatorowi uwzględnienie typów danych zdefiniowanych w zaimportowanych plikach IDL. W przeciwieństwie do dyrektywy #include dyrektywa importu ignoruje prototypy procedur, ponieważ żadne wycinki nie są generowane dla niczego w importowanym pliku.
Aby uzyskać szczegółowe informacje na temat dołączania plików nagłówkowych do pliku IDL przy użyciu importu , zobacz Importowanie plików nagłówków systemu.
Nagłówek języka C (. Plik H) wygenerowany dla interfejsu nie zawiera bezpośrednio importowanych typów, ale zamiast tego generuje dyrektywę #include dla pliku nagłówka odpowiadającego importowanemu interfejsowi. Na przykład podczas importowania bazy. IDL do twojego pochodnego. IDL, wygenerowany plik nagłówka POCHODNE. H będzie zawierać dyrektywę #include BASE.H.
Obowiązują następujące zasady:
- Słowo kluczowe importu jest opcjonalne i może być wyświetlane zero lub więcej razy w pliku IDL.
- Każde słowo kluczowe importu może być skojarzone z więcej niż jedną nazwą pliku.
- Oddziel wiele nazw plików przecinkami.
- Należy ująć nazwę pliku w cudzysłów i zakończyć instrukcję import średnikiem (;).
- Interfejs, który nie ma atrybutów, można zaimportować do innego pliku IDL. Interfejs musi jednak zawierać tylko typy danych; nie może zawierać żadnych procedur. Jeśli nawet jedna procedura jest zawarta w zaimportowanym interfejsie, należy określić atrybut lokalny lub UUID .
- Funkcja importu jest idempotentna — czyli importowanie interfejsu więcej niż raz nie ma dodatkowego efektu.
Uwaga / Notatka
Zachowanie dyrektywy import jest niezależne od przełączników trybu kompilatora MIDL /ms_ext (wartość domyślna), /osf i /app_config. Jednak tryb kompilatora (/osf lub /ms_ext) może mieć wpływ na dekorację atrybutu wskaźnika na importowanych typach. Aby uzyskać szczegółowe informacje, zobacz Pointer-Attribute Typ dziedziczenia.
Examples
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";
Zobacz także