2013-07-18 87 views
0

我正在嘗試使用C18編譯器編譯pic18f4550的程序。我有一個語法錯誤,這行:我的c程序錯誤

typedef struct __attribute__ ((packed)) _USB_DEVICE_DESCRIPTOR 

任何建議都讚賞

回答

5

__attribute__ ((packed))是GNU擴展,不C和這句法不可用C18。

注意的是,關於結構填充,C18編譯documentation說:

ANSI C標準:「的襯墊和結構件的對準(6.5.2.1)」

實施 :結構和聯合的成員在字節邊界上對齊。

因此不需要通過編譯器擴展來打包結構成員。