共用方式為


HOW TO:使用 __analysis_assume 指定其他程式碼資訊

您可以提供提示給 C/C++ 程式碼的程式碼分析工具,以協助執行分析處理序 (Process) 並減少警告。若要提供額外資訊,請使用下列函式:

__analysis_assume(expr)

expr - 任何應評估為 true 的運算式。

程式碼分析工具會假設函式出現時此運算式所代表的條件為 true,而且此條件將保持為 true,直到運算式改變為止 (例如指派給變數)。

注意事項注意事項

__analysis_assume 不會影響程式碼最佳化。在程式碼分析工具外部,__analysis_assume 定義為不執行任何作業。

範例

下列程式碼會使用 __analysis_assume 更正程式碼分析警告 C6388

#include<windows.h>
#include<codeanalysis\sourceannotations.h>

using namespace vc_attributes;

// calls free and sets ch to null
void FreeAndNull(char* ch);

//requires pc to be null
void f([Pre(Null=Yes)] char* pc);

void test( )
{
  char *pc = (char*)malloc(5);
  FreeAndNull(pc);
  __analysis_assume(pc == NULL); 
  f(pc);
}

請參閱

其他資源

__assume