2017-10-17 46 views
1

美好的一天。叮噹聲問題 - 分析

我正在嘗試使用clang --analyze運行靜態分析。 我的Makefile中的CFLAGS很長。

CFLAGS= -I$(RESOURCES) -I$(IMPORTED_HEADERS) -I$(EXPORTED_HEADERS) -isystem$(ATL_MFC_INCLUDE) -isystem$(SDK7INCLUDE) -isystem$(VCINCLUDE) -ferror-limit=0 -std=c++14 -fsyntax-only -Wmicrosoft -fms-extensions -fms-compatibility -Wno-microsoft-extra-qualification -Wno-non-pod-varargs -Wno-microsoft-cast -Wno-invalid-token-paste -Wno-inconsistent-dllimport -D_ATL_NO_HOSTING -DUNICODE -D_UNICODE -DWIN32 -D_DEBUG -DDEBUG 

不管在哪裏我嘗試--analyze堅持,在開始的時候還是很有年底,我得到這樣的警告:

clang.exe: warning: argument unused during compilation: '--analyze' [-Wunused-command-line-argument] 

然而,編譯瑣碎的cpp文件時,靜態分析踢入。例如

#include <string.h> 

int main(int, char**) 
{ 
    strcpy(NULL, "Hello"); 
    return 0; 
} 

這是一個叮噹的bug嗎?或者我做錯了什麼?

回答

0

這可能是因爲您的命令行中有-fsyntax-only

-fsyntax-only指示編譯器檢查代碼是否有語法錯誤,然後退出而不繼續編譯。

通過刪除該標誌,--analyze應該一命嗚呼。

+0

非常感謝。我想通了,我希望它在文檔中提到。 – MUXCAH