Я хотел бы, чтобы мои предупреждения были установлены на самый высокий уровень с использованием компилятора Microsoft Visual C++. Подобно использованию -pedantic в gcc. Какие переключатели компилятора вы используете для включения большинства предупреждений?Есть ли эквивалент -pedantic для gcc при использовании компилятора Microsoft Visual C++?
ответ
Самый высокий уровень предупреждения на Visual C++ - это/Wall. Уровень предупреждения также может быть установлен численно с помощью/W0,/W1, .../W4, чтобы генерировать увеличивающиеся уровни предупреждений.
Компилятор также проверит наличие проблем с переносимостью на 64 бита с помощью/Wp64.
И вы можете сказать ему, чтобы лечить предупреждения как ошибки с/WX
Visual C++, кажется, не имеют реальный эквивалент -pedantic - который просит GCC сообщать все предупреждения, необходимые для сообщать, ISO C и C++.
/W4 /Wall
должен сделать трюк.
Обратите внимание, что/Wp64 не рекомендуется Microsoft, а не компилировать непосредственно для 64-битной платформы, если это возможно.
Также обратите внимание, что в редакции Team Developer есть опция/analysis, которая добавляет семантическую проверку на наличие распространенных ошибок кода. Вы также можете взглянуть на получение PC-lint от gimpel для дополнительной семантической проверки.
AS billmcc64 mentioned, gcc -pedantic вызывает gcc предупреждать, если вы используете какие-либо нестандартные расширения. Я не думаю, что вы можете заставить MSVC предупреждать о подобной ситуации, но вы можете заставить ее генерировать ошибку для этих ситуаций, используя параметр/Za.
Если вы хотите что-то вроде -эпидистант, попробуйте хороший линт, такой как pc-lint (http://www.gimpel.com/html/products.htm).
Правильная информация заключается в том, что, если возможно, компиляция непосредственно для 64-битной платформы предпочтительнее использовать параметр/Wp64. – 2008-10-21 01:08:47