Esiste un equivalente a -pedantic per gcc quando si utilizza il compilatore Visual C ++ di Microsoft?
-
03-07-2019 - |
Domanda
Vorrei impostare i miei avvertimenti al massimo livello utilizzando il compilatore Microsoft Visual C ++. Simile all'utilizzo di -pedantic su gcc. Quali opzioni di compilatore usi per avere la maggior parte degli avvisi abilitati?
Soluzione
Il livello di avviso più alto su Visual C ++ è / Wall. Il livello di avviso può anche essere impostato numericamente con / W0, / W1, ... / W4 per generare livelli crescenti di avvisi.
Il compilatore verificherà anche problemi di portabilità a 64 bit con / Wp64.
E puoi dirlo per trattare gli avvisi come errori con / WX
Visual C ++ non sembra avere un vero equivalente a -pedantic - che sta chiedendo a gcc di riportare tutti gli avvisi richiesti per essere riportati dagli standard ISO C e C ++.
Altri suggerimenti
AS billmcc64 menzionato , il formato-gantic di gcc fa avvisare gcc se usi estensioni non standard. Non credo che MSVC possa avvertire di una situazione simile, ma è possibile che generi un errore per queste situazioni utilizzando l'opzione / Za.
Nota che / Wp64 non è raccomandato da Microsoft al contrario di compilare direttamente per la piattaforma a 64 bit, se possibile.
Nota anche che l'edizione Team Developer ha un'opzione / analizza, che aggiunge il controllo semantico per errori di codice comuni. Puoi anche cercare di ottenere PC-lint da gimpel per ulteriori controlli semantici.
se vuoi qualcosa come -pedantic, prova una buona lanugine come pc-lint ( http: //www.gimpel.com/html/products.htm ).
/ W4 / Wall
dovrebbe fare il trucco.