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
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.
Expanda el nodo Propiedades de configuración.
Expanda el nodo AnalisisCodigo.
Seleccione la página de propiedades General.
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]