禁止重复发出相同的警告
Suppress the same warning from being repeated?
在Windows上使用MinGW(GCC),当单个头文件被多个源文件包含时,如果头具有#警告或"#pragma消息",则会重复多次,尽管已经报告了该警告。
有没有办法确保每次编译只显示一次#warning或#pragma,以免收到垃圾邮件?
我不想隐藏警告,只是重复出现相同的警告。
带有#warnings和"#pragma message"的头已经被正确地保护了,所以我不明白为什么#warnings会重复出现。
在头部mycode.h:#define WARN_ME_OF_THIS 中
在您的代码文件mycode.c中:#包括";mycode.h";
#ifdef WARN_ME_OF_THIS
#warning WARNING! THIS HAS HAPPENED
#endif
mycode.h可能包含在多个文件中,但mycode.c只编译一次,因此警告只出现一次。你可以把#ifdef、#warning、#endif放在mycode.c的任何地方,所以我把它离散地放在最后。
相关文章:
- 禁止显示由于常量为零而比较始终为假的警告
- 禁止显示有关包含文件中 #pragma 包的警告
- 为什么我会收到此警告:ISO c++ 禁止可变长度数组"v"[-Wvla]
- 如何禁止在 g++ 中使用但从未定义警告的内联函数
- 捕获/禁止发送到 std::cout 的 OpenCV 警告
- 警告:ISO C++禁止可变长度数组
- 禁止显示"use of the 'X' attribute is a C++17 extension"警告
- 警告:ISO C++禁止将字符串常量转换为'char*' [-Wwrite-strings]
- 警告:ISO C++禁止将静态“constexpr char*”数据成员的字符串常量转换为“char*”
- 如何禁止显示来自ON_BLOCK_EXIT的警告(ScopeGuard 的一部分)
- 禁止来自CPD的C/C++代码的警告
- 如何禁止显示有关C++中未使用变量的警告
- msvc预编译头警告禁止显示
- 禁止显示编译器警告 声明从未引用的函数
- 禁止显示警告"QApplication was not created in main() thread"
- 如何禁止显示源文件中特定宏定义的零参数的 GCC 可变参数宏参数警告
- 干净地禁止 gcc 的"最终"建议警告("-wsuggest-final-types"和"-wsuggest-final-methods")
- 如何禁止显示编译器警告 C4373
- 使用 CMake 禁止显示链接警告
- :警告:ISO C++禁止可变长度数组“s1”[-Wvla]