相关疑难解决方法(0)

如何禁用几行代码的GCC警告

在Visual C++中,可以使用#pragma warning (disable: ...).我还发现在GCC中你可以覆盖每个文件的编译器标志.我怎样才能为"下一行"做这个,或者使用GCC围绕代码区域推送/弹出语义?

c gcc pragma compiler-warnings

200
推荐指数
8
解决办法
12万
查看次数

在GCC中抑制-Wunknown-pragmas警告

我试图忽略来自某些第三方头文件的警告,如下所示:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
#pragma GCC diagnostic ignored "-Wreorder"

#include <some_3rd_party_header.h>

#pragma GCC diagnostic pop
Run Code Online (Sandbox Code Playgroud)

这种方法似乎总体上起作用,但不适用于未知的pragma警告(我仍然得到它们).

为什么它适用于其他警告但不适用于此警告?谁能证实这种行为?

我使用的是G ++(版本4.7.1)与-Wall-std=c++0xDebian的下.

gcc warnings pragma suppress-warnings

21
推荐指数
1
解决办法
9742
查看次数

忽略注释:打包位字段的偏移量而不使用"-Wno-packed-bitfield-compat"

当我尝试编译以下联合时,我会弹出此警告: 10:5: note: offset of packed bit-field 'main()::pack_it_in::<anonymous struct>::two' has changed in GCC 4.4

#pragma GCC diagnostic ignore "-Wpacked-bitfield-compat"
union pack_it_in {
    struct
    {
        uint8_t zero : 3;
        uint8_t one : 2;
        uint8_t two : 6;
        uint8_t three : 4;
        uint8_t four : 1;
    } __attribute__((packed)) u8_2;
    uint16_t u16;
};
#pragma GCC diagnostic pop
Run Code Online (Sandbox Code Playgroud)

#pragma不会忽略该注释.有没有办法让#pragma工作而不必使用,-Wno-packed-bitfield-compat因为我希望这个警告只被我八个工会中的两个忽略了?

c++ gcc-warning c++11 gcc4.4

6
推荐指数
1
解决办法
1562
查看次数