를 사용하여 추가 코드 정보를 지정하는 방법 _Analysis_assume_
C/C++ 코드에 대한 코드 분석 도구에 힌트를 제공하여 분석을 처리하고 경고를 줄일 수 있습니다. 추가 정보를 제공하려면 다음 함수 매크로를 사용합니다.
_Analysis_assume_( expr )
expr - true로 평가되는 모든 식입니다.
코드 분석 도구는 함수가 나타나는 지점에서 식 expr 이 나타내는 조건이 true라고 가정합니다. 그리고 예를 들어 변수에 할당하여 변경될 때까지 expr true로 유지됩니다.
참고
_Analysis_assume_ 는 코드 최적화에 영향을 주지 않습니다. 코드 분석 도구 _Analysis_assume_ 외부에서 no-op로 정의됩니다.
예제
다음 코드는 코드 분석 경고 C6388을 수정하는 데 사용합니다_Analysis_assume_.
#include <windows.h>
#include <codeanalysis\sourceannotations.h>
using namespace vc_attributes;
//requires pc to be null
void f([Pre(Null=Yes)] char* pc);
// calls free and sets ch to null
void FreeAndNull(char** ch);
void test()
{
char pc = (char)malloc(5);
FreeAndNull(&pc);
_Analysis_assume_(pc == NULL);
f(pc);
}