كيفية القيام بما يلي: تحديد معلومات تعليمات برمجية إضافى بواسطة استخدام __analysis_assume

يمكنك توفير تلميحات لأداة التحليل تعليمات برمجية للتعليمات البرمجيه/C + + C الذي يساعد في التحليل عملية وتقلل من التحذيرات. إلى توفير معلومات إضافى، استخدم دالة التالية:

__analysis_assume(expr)

expr-أي تعبير التي هو ومن المفترض أن يتم تقييم إلى صواب.

analys تعليمات برمجية هو أداة يفترض أن الشرط يمثله التعبير هو صحيحاً عند النقطة الموقع تظهر دالة وتبقى صحيحة حتى التعبير هو استبدالها، على سبيل المثال، بواسطة التعيين إلى متغير.

ملاحظة

__analysis_assumeلا يؤثر تحسين تعليمات برمجية. خارج تعليمات برمجية أداة التحليل، __analysis_assumeيتم تعريفه على أنه لا op.

مثال

تستخدم التعليمة البرمجية التالية __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