attributo import

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" [[ , ... ]] ;

Parametri

filename

Specifica il nome dell'intestazione, del file IDL o ODL da importare.

Osservazioni:

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 (ovvero 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 importata o da un file IDL al file IDL di importazione.

Analogamente alla macro del preprocessore 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 DERIVATO. H conterrà la direttiva #include BASE.H.

Si applicano le seguenti regole:

  • La parola chiave import è facoltativa e può apparire zero o più volte nel file IDL.
  • Ogni parola chiave import può essere associata a più nomi di 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 alcuna routine. Se anche una routine è contenuta nell'interfaccia importata, è necessario specificare un attributo locale o UUID .
  • La funzione di importazione è idempotente, ovvero l'importazione di un'interfaccia più di una volta non ha alcun effetto aggiuntivo.

Annotazioni

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 dell'attributo del puntatore sui tipi importati. Per informazioni dettagliate, vedere ereditarietà dei tipiPointer-Attribute.

 

Examples

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

Vedere anche

/app_config

File IDL (Interface Definition)

importlib

Includono

Importazione di file di intestazione di sistema

Importazione di file e librerie di tipi

/ms_ext

/Osf