禁止重复发出相同的警告

Suppress the same warning from being repeated?

本文关键字:警告 禁止      更新时间:2023-10-16

在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的任何地方,所以我把它离散地放在最后。