我正在尝试使用 C18 编译器为 pic18f4550 编译程序。我在这一行有一个语法错误:
typedef struct __attribute__ ((packed)) _USB_DEVICE_DESCRIPTOR
任何建议表示赞赏
__attribute__ ((packed))
是 GNU 扩展而不是 C,并且此语法在 C18 中不可用。
请注意,关于结构填充,C18 编译器文档说:
ANSI C 标准:“结构成员的填充和对齐 (6.5.2.1)。”</p>
实现:结构和联合的成员在字节边界上对齐。
所以不需要通过编译器扩展来打包结构成员。