parent nodes: NetC

AnalisisCodigo para obtener información general de C/C++

Visual Studio Team System

Author: César TM
Date: Jun/2009
Source: ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VSENT.v80.es/dv_vsetsa01/html/81f0c9e8-f471-4de5-aac4-99db336a8809.htm

Opciones de seguridad del compilador enlazador de C++

/analyze (Análisis del código de empresa)
Esta opción del compilador (que está desactivada de forma predeterminada), activa el análisis de código que informa de posibles problemas de seguridad como saturaciones del búfer, memoria no inicializada, eliminación de referencias al puntero null y pérdidas de memoria. Vea AnalisisCodigo para obtener información general de C/C++ para obtener más información.

Sólo está disponible en versiones Enterprise (de desarrollo en equipo) para los compiladores de x86.
/analyze[:WX-]

Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.
  2. Expanda el nodo Propiedades de configuración.
  3. Expanda el nodo AnalisisCodigo.
  4. Seleccione la página de propiedades General.
  5. Modifique una o más de las propiedades de AnalisisCodigo.

Para establecer esta opción del vinculador mediante programación

Compatibilidad con las anotaciones

Las anotaciones mejoran la exactitud del análisis de código. Las anotaciones proporcionan información adicional sobre condiciones previas y posteriores en los parámetros de función y en los tipos de valor devueltos.
#include <CodeAnalysis/SourceAnnotations.h> 

[Post( MustCheck=SA_Yes )] double* CalcSquareRoot 
( 
[Pre( Null=SA_No )] double* source, 
unsigned int size 
); 
En el ejemplo anterior:

[Post ( MustCheck=SA_Yes)] exige al llamador que compruebe el valor devuelto de CalcSquareRoot
[Pre ( Null=SA_No)] exige al llamador que pase a CalcSquareRoot el parámetro no nulo "source"

Ver también

http://dotnetslackers.com/articles/net/Code-Contracts.aspx













_________________________________________________________________________________________________________
NetC[camelCaseWordsEnabled: false]