[問題] 不同compiler對bit field的處理方式不同?

作者: zzss2003 (brotherD)   2017-07-20 11:47:06
想請問一下,一個struct裡面的member被宣告為unsigned的變數,代表這個struct的size
就是4byte(在GCC平台下),那假如我裡面的成員總共的大小不到4byte,那是不是代表其他
的空間就被浪費掉了?
我會有這個疑問是我目前在用PIC的XC8編譯器,裡面header檔對register(8bit)各個腳位
的定義都是用unsigned(在XC8為2byte大),對於一個記憶體空間非常有限的MCU,不太可能
每個register都浪費一個BYTE吧?
所以我在想,會不會XC8可以在struct裡面自動把這個type型別轉成1byte寬(我只想問可不
可以達到這個功能)
作者: zzss2003 (brotherD)   2017-07-20 11:52:00
不好意思,這問題已經解決了。Manual裡面有寫,但我英文不好,重看一遍才懂他想表達的意思
作者: chuegou (chuegou)   2017-07-20 22:36:00
struct成員可以帶長度阿 冒號+bit數量
作者: LPH66 (-6.2598534e+18f)   2017-07-21 06:44:00
他就是在問那個 bit 欄位的底層分配...

Links booklink

Contact Us: admin [ a t ] ucptt.com