私は次のコードにかなり困惑しています:
typedef struct
{
Uint16 first:8; // has a size of 8 bit
Uint16 second:8; // has a size of 8 bit
Uint16 third; // has a size of 32 bit; what's wrong here?
} TSomeStruct;
「3番目」のサイズは32ビットではなく16ビットになると予想していました。間違いは私の側にあるに違いないと確信しています。
背景: これは私のコード ベースではなく、検証を行っています。組み込みシステムと私が持っていない独自のコンパイラ用に書かれているため、「-fdump-translation-unit」オプションを使用して構文ツリーを生成し、それに対して検証を実行します。しかし、Uint16 は GCC でも 16 ビット長である必要があるため、問題にはなりませんよね?