如何使用模板化库控制静态分析编译器错误消息
How can I control static analyzed compiler error messages with templated libraries?
今天我了解到大多数编译器都提供静态分析,例如
SET (CMAKE_CXX_FLAGS "-std=c++1y -Werror -Weverything -Wno-documentation -Wno-c++98-compat -Wno-padded")
我认为这真的很酷,但我也使用了一些模板化库,当然这些库只是标题。
现在我不能再使用这些标志了,因为这些库充满了"错误/警告"。我可以尝试找到所有这些标志并禁用它们,但真的很想在我的代码中包含这些错误/警告。
有解决方法吗?我想也许我可以尝试找到所有模板实例化,在没有编译器警告的情况下编译头文件,然后将预编译的头文件与我的代码链接起来。
你认为这可能吗?
gcc 和 clang 都支持诊断杂注,这将允许您忽略一段代码的特定诊断消息。例如,要像这样禁用-Wunused-variable
:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
// include headers with warnings
#pragma GCC diagnostic pop
这对于您无法控制代码的第三方库非常有用。
相关文章:
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 如何执行 cppcheck 交叉翻译单元 (CTU) 静态分析?
- 如何将 AST 用于自定义前端操作和 clang 静态分析
- C++静态分析,模板类
- 覆盖性静态分析说无符号的int是char(C++)
- Android NDK-天然C 代码的静态分析
- 静态分析,用于检测 Visual Studio C++ 2012 上的缓冲区溢出
- 静态函数编译器优化C++
- 这个C++静态分析规则按原样有意义吗
- 如何使用模板化库控制静态分析编译器错误消息
- 了解COM的静态分析工具
- 是否有任何c++静态分析工具来检测向量的潜在错误
- 用于静态分析本机Windows二进制文件大小的工具
- 静态分析工具,用于检测由于类型提升而导致的无休止循环
- 为什么Xcode 4.3静态分析报告此代码的逻辑错误
- 如何获得与C++0x标准兼容的Coverity静态分析
- Visual Studio 11终极静态分析显示没有输出
- Clang静态分析-根据执行流检查可为空的变量初始化
- 用MPI进行Clang静态分析
- 如何使用Eclipse cdt对c++代码进行静态分析