를 사용하여 추가 코드 정보를 지정하는 방법 _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);
}

참조