是否有任何技术可以检测GCC的未定义行为
Are there any techniques to detect undefined behaviour with GCC?
如果程序没有按照 C++11 标准以可预测的方式运行,是否有任何命令行选项或技术使 GCC 编译器报告错误?
。使编译器报告一些错误...
是的,有许多警告确实会检测到可能的 UB,您可以使用 GCC 的-Werror
选项将警告转换为错误。
此外,如@LogicStuff的评论中所述,GCC支持未定义行为清理器。
尽管检测UB的更好工具主要是静态代码分析工具,它可以检测大多数此类缺陷。
但是,在任何情况下,您都必须处理误报,并且需要再次深入检查您的代码。
相关文章:
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- 在使用 GCC 4.8.5 构建的应用中对 cxx11 函数的未定义引用
- Cygwin下的gcc 9.3.0预处理器:cmdline -Dname,但名称似乎未定义
- 当它们不与GCC和CMAKE一起使用时,如何解析未定义的引用
- 未定义的行为或 gcc 优化错误
- GCC ARM 交叉编译,像未定义的引用"__cxa_end_catch@CXXABI_1.3"这样的错误表示什么?
- 依赖GCC/LLVM的"-fexceptions"在技术上是未定义的行为吗?
- 使用 abi:cxx11 的 GCC 未定义引用
- 使用 gcc 编译和使用 clang 编译代码时未定义的引用
- 未定义的引用指针的变量模板在clang中功能,而不是GCC
- C 17 GCC编译器为什么会发出有关未定义的警告
- Linux Flex gcc 编译失败,并显示"未定义对 'TclReError'的引用"
- C++,wxWidgets,TDM-GCC编译器:驱动器H:中对WinMain的未定义引用
- 从GCC 4.6更改为4.7时未定义的参考
- 无法使用 GCC 构建 C 应用程序,因为未定义对'deflateEnd'的引用
- fedora上的gcc链接器错误:未定义的引用
- 带有本地创建对象的gcc未定义引用
- 构造函数中x86_64的 GCC 未定义符号C++体系结构
- gcc 未定义对 'std::ios_base::Init::Init()' 的引用
- gcc - 未定义的引用,但库包含匹配的符号