Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze pagina is alleen van toepassing op ontwikkelaars die specifieke redenen hebben om de preprocessor van Microsoft C/C++ te vervangen als de preprocessor die wordt gebruikt door MIDL of voor ontwikkelaars die aangepaste preprocessorswitches moeten opgeven. De MIDL-switches /cpp_cmd, /cpp_opten /no_cpp worden gebruikt om het standaardgedrag van de compiler te overschrijven. Er is doorgaans geen reden om de preprocessor van Microsoft C/C++ te vervangen en geen aangepaste preprocessorswitches op te geven.
De MIDL-compiler maakt gebruik van een C-preprocessor tijdens de eerste verwerking van het IDL-bestand. De buildomgeving die wordt gebruikt bij het compileren van de IDL-bestanden, is gekoppeld aan een standaard C/C++-preprocessor. Als een andere preprocessor moet worden gebruikt, schakelt de MIDL-compiler-switch /cpp_cmd een onderdrukking van de standaard C/C++-preprocessornaam in:
midl /cpp_cmd preprocessor_name filename
-
preprocessor_name
-
Hiermee geeft u de naam van de preprocessor moet worden gebruikt door MIDL. Kan worden opgegeven met een pad naar het binaire bestand. De .exe-extensie is optioneel.
-
bestandsnaam
-
Hiermee geeft u de naam van het IDL-bestand.
- De MIDL-compiler verwacht dat een preprocessor de volgende conventies in acht neemt:
- Het invoerbestand wordt opgegeven als het laatste argument op de opdrachtregel.
- De preprocessor moet uitvoer omleiden naar het standaarduitvoerapparaat stdout.
- In de uitvoerstroom van de preprocessor zijn de #line instructies aanwezig om betere diagnostische berichten mogelijk te maken.
- De regelrichtlijnen zijn de enige preprocessorrichtlijnen in de uitvoerstroom.
BIJ MIDL wordt ervan uitgegaan dat de spawned preprocessor alle preprocessor-instructies heeft verwijderd uit de invoerstroom van de compiler, met uitzondering van de gevallen van de regelrichtlijn die nodig is voor het aanwijzen van bronlocatie in compilerberichten. Wanneer u een preprocessor aangeeft die verschilt van de preprocessor van Microsoft C/C++ of wanneer u preprocessoropties opgeeft met de /cpp_opt-switch, moet u een geschikte preprocessoroptie opgeven waarmee de regelrichtlijnen in de invoerstroom van de compiler worden ingevoerd. Voor de preprocessor van Microsoft C/C++ moet bijvoorbeeld de optie /E worden gebruikt:
midl /cpp_cmd cl.exe /cpp_opt "/E" file.idl
De #line richtlijn wordt in een van de volgende vormen geaccepteerd door MIDL:
#line digit-sequence "filename" new-line
# digit-sequence "filename" new-line
Zie de documentatie voor de gebruikte C-compiler voor een volledige beschrijving van de regelrichtlijn en andere preprocessorrichtlijnen.
MIDL accepteert alleen de regel preprocessorrichtlijn. Als de schakeloptie /no_cpp wordt gebruikt, mag het invoerbestand geen andere preprocessorrichtlijnen hebben of moet het invoerbestand zijn verwerkt voordat MIDL wordt aangeroepen.
Zie Omgaan met #defines in IDL Filesvoor meer informatie.