0

http://clang-analyzer.llvm.org/scan-build.htmlのチュートリアルに従って、スキャンビルドがデッド コードの検索に役立つかどうかを確認するおもちゃの例を作成します。

以下はテストコードです。

#include <stdio.h>
int main () {
    printf("haha this is testing code\n");
    return 0;
    int c = 10;
}

コマンドラインで次を実行します。

scan-build -v gcc -c test.c

ただし、スキャンビルドは次の出力を提供します。

ここに画像の説明を入力

int c = 10;到達しないことを発見しません。

私は何かが恋しいですか?

4

1 に答える 1

0

alpha.deadcode.UnreachableCodeチェッカーはバグを見つけます:

コマンドライン:

scan-build -enable-checker alpha.deadcode.UnreachableCode -v gcc -c test.c

出力:

test.c:5:13: warning: This statement is never executed
    int c = 10;
            ^~
1 warning generated.
scan-build: 1 bugs found.

その他のアルファ (実験的) チェッカーについては、 http://clang-analyzer.llvm.org/alpha_checks.htmlを参照してください。

于 2015-12-03T23:01:06.297 に答える