我的c程序出错

0 c embedded

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

typedef struct __attribute__ ((packed)) _USB_DEVICE_DESCRIPTOR
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏

oua*_*uah 5

__attribute__ ((packed)) 是一个GNU扩展,不是C,这个语法在C18中不可用.

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

ANSI C标准:"结构构件的填充和对齐(6.5.2.1)."

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

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