Compartilhar via


Comutador /cpp_cmd

A opção /cpp_cmd especifica o pré-processador que o compilador MIDL usa para pré-processar arquivos de entrada.

midl /cpp_cmd "C_preprocessor_binary"

Opções de opção

C_preprocessor_binary

Especifica o comando que invoca o pré-processador. Esse comando permite que os desenvolvedores substituam o pré-processador padrão. Por padrão, MIDL invoca o compilador do Microsoft C/C++ do ambiente de build do computador de build.

Comentários

O argumento C_preprocessor_binary para a opção pode especificar o caminho completo; o sufixo exe e aspas são opcionais. Normalmente, os desenvolvedores usam a opção para escolher uma versão específica do pré-processador do Microsoft C/C++ ou equivalente no ambiente de build. Nesse caso, não é necessário usar a opção /cpp_opt com /cpp_cmd.

Ao usar um pré-processador que não seja da Microsoft, especialmente quando o pré-processador especificado não direciona sua saída para stdout, a opção do compilador C que redireciona a saída para stdout como parte da opção /cpp_opt do compilador MIDL deve ser especificada. Consulte Requisitos do pré-processador C para MIDL para obter detalhes

O pré-processador é invocado por uma cadeia de caracteres de comando formada a partir das informações fornecidas ao compilador MIDL por comutadores /cpp_cmd, /cpp_opt, /D, /I e /U . A tabela a seguir resume como a cadeia de caracteres de comando é construída para cada combinação de comutadores /cpp_cmd e /cpp_opt .

Quando a opção /cpp_cmd não é especificada, o compilador MIDL invoca o compilador do Microsoft C/C++. MIDL usa um binário Cl.exe encontrado no ambiente de build.

Quando a opção /cpp_opt não estiver presente, o compilador MIDL concatena a cadeia de caracteres especificada pela opção /cpp_cmd com as informações especificadas pelas opções MIDL /I, /D e /U . A cadeia de caracteres /E também é concatenada à cadeia de caracteres de invocação do compilador C para indicar que o compilador C/C++ deve executar apenas o pré-processamento. A opção /nologo é adicionada para suprimir a faixa do compilador C/C++. O compilador MIDL usa a cadeia de caracteres concatenada para invocar o pré-processador C para IDL de nível superior, bem como arquivos IDL importados e também para qualquer arquivo ACF correspondente.

Quando a opção /cpp_opt está presente, o que deve ser um caso raro para as plataformas atuais de 32 bits e 64 bits, o compilador MIDL concatena a cadeia de caracteres especificada pela opção /cpp_cmd com a cadeia de caracteres especificada pela opção /cpp_opt . O compilador MIDL usa a cadeia de caracteres concatenada para invocar o binário de pré-processador indicado no lugar do pré-processador padrão. Quando a opção /cpp_opt está presente, nem as opções do compilador MIDL especificadas pelas opções /I, /D e /U nem a opção /E do compilador C são concatenadas com a cadeia de caracteres. Você deve fornecer a opção /E, ou equivalente, como parte da cadeia de caracteres.

/cpp_cmd presente? /cpp_opt presente? Descrição
Não (padrão) Não (padrão) Invoca o compilador padrão do Microsoft C/C++ com as configurações obtidas das opções MIDL /I, /D e /U . Adiciona as opções de pré-processador /E e /nologo.
Sim Não Invoca o binário de pré-processador indicado com as mesmas opções acima.
Não Sim Invoca o compilador do Microsoft C com as opções especificadas. Não usa as opções MIDL /I, /D, /U . Você deve fornecer /E como parte de /cpp_opt.
Sim Sim Invoca o binário de pré-processador especificado apenas com opções especificadas. Você deve usar aspas.

 

Exemplos

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

Confira também

/savePP

/cpp_opt

Sintaxe de linha de comando MIDL geral

/no_cpp

Requisitos do pré-processador C para MIDL