emitidl

Specifica se tutti gli attributi IDL successivi vengono elaborati e inseriti nel file con estensione idl generato.

Sintassi

[ emitidl(state, defaultimports=boolean) ];

Parametri

state
Uno di questi valori possibili: true, false, forced, restricted, pusho pop.

  • Se true, gli attributi di categoria IDL rilevati in un file di codice sorgente vengono inseriti nel file con estensione idl generato. Questa è l'impostazione predefinita per emitidl.

  • Se false, gli attributi di categoria IDL rilevati in un file di codice sorgente non vengono inseriti nel file con estensione idl generato.

  • Se restricted, consente agli attributi IDL di trovarsi nel file senza un attributo module. Il compilatore non genera un file con estensione idl.

  • Se forced, esegue l'override di un attributo successivo restricted , che richiede che un file disponga di un module attributo se nel file sono presenti attributi IDL.

  • pushconsente di salvare le impostazioni emitidl correnti in uno stack emitidl interno e pop di impostare emitidl su qualsiasi valore nella parte superiore dello stack emitidl interno.

defaultimports=booleano (facoltativo)

  • Se boolean è true, docobj.idl viene importato nel file con estensione idl generato. Inoltre, se un file con estensione idl con lo stesso nome di un file #include con estensione h nel codice sorgente viene trovato nella stessa directory del file con estensione h, il file con estensione idl generato contiene un'istruzione import per il file con estensione idl.

  • Se boolean è false, docobj.idl non viene importato nel file con estensione idl generato. È necessario importare in modo esplicito idl file con importazione.

Osservazioni:

Dopo che l'attributo emitidl C++ viene rilevato in un file di codice sorgente, gli attributi di categoria IDL vengono inseriti nel file con estensione idl generato. Se non è presente alcun attributo emitidl , gli attributi IDL nel file di codice sorgente vengono restituiti nel file con estensione idl generato.

È possibile avere più attributi emitidl in un file di codice sorgente. Se [emitidl(false)]; viene rilevato in un file senza un successivo [emitidl(true)];, non vengono elaborati attributi nel file con estensione idl generato.

Ogni volta che il compilatore rileva un nuovo file, emitidl viene impostato in modo implicito su true.

Requisiti

Contesto attributo Valore
Si applica a Ovunque
Ripetibile No
Attributi obbligatori None
Attributi non validi None

Per altre informazioni, vedere Contesti di attributi.

Vedi anche

Attributi del compilatore
Attributi autonomi