Есть ли эквивалент для -pedantic для gcc при использовании компилятора Microsoft Visual C ++? - PullRequest
8 голосов
/ 21 октября 2008

Я бы хотел, чтобы мои предупреждения были установлены на самый высокий уровень с помощью компилятора Microsoft Visual C ++ Аналогично использованию -pedantic в gcc. Какие ключи компилятора вы используете, чтобы включить большинство предупреждений?

Ответы [ 5 ]

9 голосов
/ 21 октября 2008

Наивысшим уровнем предупреждения в Visual C ++ является / Wall. Уровень предупреждения также может быть установлен численно с помощью / W0, / W1, ... / W4, чтобы генерировать увеличивающиеся уровни предупреждений.

Компилятор также проверит наличие 64-битных проблем с переносимостью с /Wp64.

И вы можете указать, чтобы предупреждения воспринимались как ошибки с / WX

Похоже, что Visual C ++ не имеет реального эквивалента -pedantic - который просит gcc сообщить обо всех предупреждениях, которые должны сообщаться в соответствии со стандартами ISO C и C ++.

4 голосов
/ 21 октября 2008

AS billmcc64 упомянул , gcc -pedantic заставляет gcc предупреждать, если вы используете какие-либо нестандартные расширения. Я не думаю, что вы можете заставить MSVC предупреждать о подобной ситуации, но вы можете заставить его генерировать ошибку для этих ситуаций, используя параметр / Za.

2 голосов
/ 21 октября 2008

, если вы хотите что-то вроде -педантика, попробуйте хороший линт, такой как pc-lint (http://www.gimpel.com/html/products.htm).

2 голосов
/ 21 октября 2008

Обратите внимание, что / Wp64 не рекомендуется Microsoft в отличие от компиляции напрямую для 64-битной платформы, если это возможно.

Также обратите внимание, что в выпуске Team Developer есть опция / analyse, которая добавляет семантическую проверку для распространенных ошибок кода. Вы также можете посмотреть на получение PC-lint от gimpel для дополнительной семантической проверки.

0 голосов
/ 21 октября 2008

/W4 /Wall должен сделать трюк.

...