Visual Studio Team System, /analyze и D9040

В версиях Visual Studio Team System (в отличие от "обычных" редакций Visual Studio) в компиляторе C++ есть ключ командной строки /analyze. Этот ключ позволяет запустить модуль статического анализа, встроенный в Team System для поиска в коде некоторых ошибок.

Статический анализ в Team System можно включить не только из командной строки, но и из оболочки. Для этого в настройках C++-проекта надо выбрать вкладку Configuration Properties->C/C++->Advanced и включить "Enable Code Analysis For C/C++", как показано на рисунке.



Этот статический анализ довольно хорошо работает и действительно позволяет найти проблемы в коде. Однако все это до тех пор, пока однажды вы не получите сообщение D9040:

Command-Line Warning D9040

Error Message

ignoring option '/analyze'; Code Analysis warnings are not available in this edition of the compiler

The /analyze command line option is supported only on x86 versions of Visual Studio Team System. It is not available for x64 or Itanium compilers, or for other versions of Visual Studio besides Visual Studio Team System. To remedy this warning, either switch to the x86 version of Visual Studio Team System, or remove the command line option.

Увы, но опция /analyze, которая только начала набирать популярность среди программистов, не доступна для x64 и Itanium компиляторов. Причем это ограничение есть и в Visual Studio 2005, и в Visual Studio 2008.

Поэтому если нужно использовать статический анализ при использовании x64 и Itanium компиляторов, то решение только одно – использовать сторонний инструмент. Например, анализатор кода Viva64, входящий в состав PVS-Studio, который помимо x86, поддерживает и x64, и Itanium платформы.
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.