2008-10-20 6 views

Respuesta

8

El nivel de advertencia más alto en Visual C++ es/Wall. El nivel de advertencia también se puede configurar numéricamente con/W0,/W1, .../W4 para generar niveles de advertencias cada vez mayores.

El compilador también comprobará problemas de portabilidad de 64 bits con/Wp64.

Y se puede decir que para el tratamiento de las advertencias como errores con/WX

Visual C++ no parecen tener un verdadero equivalente a -pedantic - que está pidiendo gcc para informar a todas las advertencias que han de notificarse por el Estándares ISO C y C++.

1

/W4 /Wall debería hacer el truco.

2

Tenga en cuenta que/Wp64 no es recomendado por Microsoft en lugar de compilar directamente para la plataforma de 64 bits si es posible.

También tenga en cuenta que la edición Team Developer tiene una opción de/analysis, que agrega comprobación semántica de errores de código comunes. También puede consultar la obtención de PC-lint from gimpel para una comprobación semántica adicional.

+0

La información correcta es que, donde sea posible, compilar directamente para la plataforma de 64 bits es preferible a usar la opción/Wp64. –

+0

Sí; más específicamente/Wp64 puede dar advertencias erróneas y no dar las advertencias apropiadas en comparación con la compilación directa para 64 bits. – Nick

+0

La parte divertida es que compilar para 64-bit sin/Wp64 te permitirá truncar los punteros a la izquierda y a la derecha sin recibir ninguna advertencia. – bk1e

4

AS billmcc64 mentioned, gcc's -pedantic hace que gcc advierta si utiliza extensiones no estándar. No creo que pueda hacer que MSVC advierta de una situación similar, pero puede causar que genere un error para estas situaciones usando la opción/Za.

Cuestiones relacionadas