Condividi tramite


/cpp_cmd commutatore

L'opzione /cpp_cmd specifica il preprocessore usato dal compilatore MIDL per pre-elaborare i file di input.

midl /cpp_cmd "C_preprocessor_binary"

Opzioni di opzione

C_preprocessor_binary

Specifica il comando che richiama il preprocessore. Questo comando consente agli sviluppatori di eseguire l'override del preprocessore predefinito. Per impostazione predefinita, MIDL richiama il compilatore Microsoft C/C++ dall'ambiente di compilazione del computer di compilazione.

Commenti

L'argomento C_preprocessor_binary dell'opzione può specificare il percorso completo; il suffisso exe e le virgolette sono facoltative. In genere, gli sviluppatori usano il commutatore per scegliere una determinata versione del preprocessore Microsoft C/C++ o equivalente nell'ambiente di compilazione. In questo caso, non è necessario usare l'opzione /cpp_opt con /cpp_cmd.

Quando si usa un preprocessore non Microsoft, in particolare quando il preprocessore specificato non indirizza l'output a stdout, è necessario specificare l'opzione del compilatore C che reindirizza l'output a stdout come parte dell'opzione del compilatore MIDL /cpp_opt . Per informazioni dettagliate, vedere Requisiti del preprocessore C per MIDL

Il preprocessore viene richiamato da una stringa di comando formata dalle informazioni fornite al compilatore MIDL da /cpp_cmd, / cpp_opt, /D, /I e /U commutatori. Nella tabella seguente viene riepilogato il modo in cui viene creata la stringa di comando per ogni combinazione di opzioni /cpp_cmd e /cpp_opt .

Quando l'opzione /cpp_cmd non è specificata, il compilatore MIDL richiama il compilatore Microsoft C/C++. MIDL usa un file binario Cl.exe trovato nell'ambiente di compilazione.

Quando l'opzione /cpp_opt non è presente, il compilatore MIDL concatena la stringa specificata dall'opzione /cpp_cmd con le informazioni specificate dalle opzioni MIDL /I, /D e /U . La stringa /E viene concatenata anche alla stringa di chiamata del compilatore C per indicare che il compilatore C/C++ deve eseguire solo la pre-elaborazione. L'opzione /nologo viene aggiunta per eliminare il banner del compilatore C/C++. Il compilatore MIDL usa la stringa concatenata per richiamare il preprocessore C per IDL di primo livello, nonché i file IDL importati e anche per qualsiasi file ACF corrispondente.

Quando è presente l'opzione /cpp_opt , che dovrebbe essere un caso raro per le piattaforme a 32 bit e a 64 bit correnti, il compilatore MIDL concatena la stringa specificata dall'opzione /cpp_cmd con la stringa specificata dall'opzione /cpp_opt . Il compilatore MIDL usa la stringa concatenata per richiamare il binario preprocessore indicato al posto del preprocessore predefinito. Quando l'opzione /cpp_opt è presente, né le opzioni del compilatore MIDL specificate dalle opzioni /I, /D e / U né l'opzione del compilatore C /E sono concatenate con la stringa. È necessario specificare l'opzione /E o equivalente come parte della stringa.

/cpp_cmd presente? /cpp_opt presente? Descrizione
No (impostazione predefinita) No (impostazione predefinita) Richiama il compilatore Microsoft C/C++ predefinito con le impostazioni ottenute dalle opzioni MIDL /I, /D e /U . Aggiunge le opzioni del preprocessore /E e /nologo.
No Richiama il file binario del preprocessore indicato con le stesse opzioni riportate in precedenza.
No Richiama il compilatore Microsoft C con le opzioni specificate. Non usa le opzioni MIDL /I, /D, /U . È necessario specificare /E come parte di /cpp_opt.
Richiama solo il binario del preprocessore specificato con opzioni specificate. È necessario usare virgolette.

 

Esempio

midl /cpp_cmd d:\nt\tools\ia64\cl.exe /DFLAG=TRUE /Ic:\inc filename.idl

midl /cpp_cmd "mycpp" /DFLAG=TRUE /Ic:\inc filename.idl

midl /cpp_opt "/E /DFLAG=TRUE /Ic:\inc" filename.idl

midl /cpp_cmd "cl" /cpp_opt "/E /DFLAG=TRUE /Ic:\inc" filename.idl

Vedi anche

/savePP

/cpp_opt

Sintassi generale della riga di comando MIDL

/no_cpp

Requisiti del preprocessore C per MIDL