Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página aplica-se apenas a desenvolvedores que tenham motivos específicos para substituir o pré-processador Microsoft C/C++ como o pré-processador usado pelo MIDL ou a desenvolvedores que devem especificar opções de pré-processador personalizadas. As opções MIDL /cpp_cmd, /cpp_opte /no_cpp são usadas para substituir o comportamento padrão do compilador. Normalmente, não há razão para substituir o pré-processador Microsoft C/C++, nem para especificar comutadores de pré-processador personalizados.
O compilador MIDL usa um pré-processador C durante o processamento inicial do arquivo IDL. O ambiente de compilação usado ao compilar os arquivos IDL está associado a um pré-processador C/C++ padrão. Se um pré-processador diferente for usado, a opção do compilador MIDL /cpp_cmd permitirá uma substituição do nome padrão do pré-processador C/C++:
midl /cpp_cmd preprocessor_name filename
-
preprocessor_name
-
Especifica o nome do pré-processador a ser usado pelo MIDL. Pode ser especificado com um caminho para o binário. A extensão .exe é opcional.
-
nome do arquivo
-
Especifica o nome do arquivo IDL.
- O compilador MIDL espera que qualquer pré-processador observe as seguintes convenções:
- O arquivo de entrada é especificado como o último argumento na linha de comando.
- O pré-processador deve redirecionar a saída para o dispositivo de saída padrão, stdout.
- No fluxo de saída do pré-processador, as diretivas #line estão presentes para permitir melhores mensagens de diagnóstico.
- As diretivas de linha são as únicas diretivas de pré-processador no fluxo de saída.
O MIDL assume que o pré-processador gerado removeu todas as diretivas do pré-processador do fluxo de entrada do compilador, com exceção das ocorrências da diretiva de linha necessárias para identificar o local de origem nas mensagens do compilador. Ao indicar um pré-processador diferente do pré-processador Microsoft C/C++ ou ao especificar opções de pré-processador com o switch /cpp_opt, é necessário especificar uma opção de pré-processador apropriada que coloque as diretivas de linha no fluxo de entrada do compilador. Por exemplo, para o pré-processador Microsoft C/C++, a opção /E teria de ser usada:
midl /cpp_cmd cl.exe /cpp_opt "/E" file.idl
A diretiva #line é aceite pela MIDL sob uma das seguintes formas:
#line digit-sequence "filename" new-line
# digit-sequence "filename" new-line
Para obter uma descrição completa da diretiva de linha e outras diretivas de pré-processador, consulte a documentação do compilador C que está sendo usado.
O MIDL aceita apenas a diretiva de pré-processador de linha. Portanto, se a opção /no_cppfor usada, o arquivo de entrada não deve ter outras diretivas de pré-processador ou o arquivo de entrada deve ter sido processado antes de invocar MIDL.
Para obter mais informações, consulte Lidando com #defines em Arquivos IDL.