2017-10-17 92 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