MPLAB X错误,'打包' usb_hal_pic24.h中类型字段&BY; BYTE的属性被忽略

时间:2014-03-30 00:11:51

标签: microchip mplab

刚刚安装了MPLAB X并导入了我正在进行的项目。我收到了这个错误,因为它是一个应用程序库文件,我不太热衷于修改它。它引用的代码是:

// BDT Entry Layout
typedef union __BDT
{
union
{
    struct
    {
        BYTE CNT         __attribute__ ((packed));
        BD_STAT     STAT __attribute__ ((packed));
    };
    struct
    {
        WORD        count:10;   //test
        BYTE        :6;
        WORD        ADR; //Buffer Address
        };
    };
    DWORD           Val;
    WORD            v[2];
} BDT_ENTRY;

我想知道如何修改此设置或我的设置,以便我可以编译。我在MPLAB中没有收到此错误。

1 个答案:

答案 0 :(得分:0)

__attribute__ ((packed))可以安全地发表评论。

// BDT Entry Layout
typedef union __BDT
{
    union
    {
        struct
        {
            BYTE CNT    ; //__attribute__ ((packed)); suppress compiler warnings
            BD_STAT     STAT __attribute__ ((packed));
        };
        struct
        {
            WORD        count:10;   //test
            BYTE        :6;
            WORD        ADR; //Buffer Address
        };
    };
    DWORD           Val;
    WORD            v[2];
} BDT_ENTRY;

我不得不修改USB硬件抽象层以便编译。