次のサンプルコードがあり、それらを回避するために使用できる注釈の種類を知りたいです。
int Function(classA* pInput) {
if (pInput == NULL) {
classA::Create(pInput);
}
return pInput->value;
}
Create
問題は、Prefast が関数のみを評価するため、ポインターを初期化する関数がわからないことです。
__out
ヘッダーファイルの注釈を使用して解決できると思いましたがclassA::Create
、うまくいきませんでした。
__analysis_assume
prefast が関数定義からそれを取得するように、コードのどこにでも良い代替手段があるかどうか疑問に思っています。
次に、これらのプリプロセッサ ディレクティブを使用して、Linux または GCC でコードをネイティブにビルドできるように、ビルド構成をどのようにセットアップすればよいか考えていました。LINUX ビルド上にあるかどうかを確認してから、それらの注釈を空のマクロとして追加する必要がありますか?