import (attributo)
La direttiva import specifica un altro file IDL, ODL o di intestazione contenente le definizioni a cui si desidera fare riferimento dal file IDL principale.
import "filename" [[ , ... ]] ;
-
Filename
-
Specifica il nome dell'intestazione, del file IDL o ODL da importare.
Con la direttiva import , tutte le istruzioni IDL nel file importato, ad esempio typedef, dichiarazioni costanti e definizioni di interfaccia diventano disponibili per l'importazione di . File IDL.
Il file importato viene elaborato separatamente (vale a dire che il preprocessore CPP viene richiamato in modo indipendente) dal file IDL di importazione. In questo modo, le direttive preprocessore, ad esempio #define, non eseguono il trasporto da un'intestazione o da un file IDL importato al file IDL di importazione.
Analogamente alla macro del preprocessore in linguaggio C #include, la direttiva import indica al compilatore di includere i tipi di dati definiti nei file IDL importati. A differenza della direttiva #include , la direttiva import ignora i prototipi di routine, poiché non vengono generati stub per qualsiasi elemento nel file importato.
Per informazioni specifiche sull'uso dell'importazione per includere i file di intestazione in un file IDL, vedere Importazione di file di intestazione di sistema.
Intestazione del linguaggio C (. H) il file generato per l'interfaccia non contiene direttamente i tipi importati, ma genera invece una direttiva #include per il file di intestazione corrispondente all'interfaccia importata. Ad esempio, quando si importa BASE. IDL nel derivato. IDL, il file di intestazione generato DERIVED. H conterrà la direttiva #include BASE.H.
Sono applicabili le regole seguenti:
- La parola chiave import è facoltativa e può essere visualizzata zero o più volte nel file IDL.
- Ogni parola chiave import può essere associata a più di un nome file.
- Separare più nomi di file con virgole.
- È necessario racchiudere il nome del file tra virgolette e terminare l'istruzione import con un punto e virgola (;).
- È possibile importare un'interfaccia senza attributi in un altro file IDL. Tuttavia, l'interfaccia deve contenere solo tipi di dati; non può contenere procedure. Se anche una routine è contenuta nell'interfaccia importata, è necessario specificare un attributo locale o UUID .
- La funzione import è idempotente â€"Â, ovvero l'importazione di un'interfaccia più di una volta non ha alcun effetto aggiuntivo.
Nota
Il comportamento della direttiva import è indipendente dalle opzioni della modalità del compilatore MIDL /ms_ext (impostazione predefinita), /osf e /app_config. Tuttavia, la modalità del compilatore (/osf o /ms_ext) può influire sulla decorazione degli attributi del puntatore sui tipi importati. Per informazioni dettagliate, vedere Ereditarietà del tipo di attributo puntatore.
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";