0

我正在尝试使用 C18 编译器为 pic18f4550 编译程序。我在这一行有一个语法错误:

typedef struct __attribute__ ((packed)) _USB_DEVICE_DESCRIPTOR

任何建议表示赞赏

4

1 回答 1

5

__attribute__ ((packed))是 GNU 扩展而不是 C,并且此语法在 C18 中不可用。

请注意,关于结构填充,C18 编译器文档说:

ANSI C 标准:“结构成员的填充和对齐 (6.5.2.1)。”</p>

实现:结构和联合的成员在字节边界上对齐。

所以不需要通过编译器扩展来打包结构成员。

于 2013-07-18T16:02:56.913 回答