也許問題就是這麼簡單...在枚舉和位操作
有一個枚舉定義:
enum uop_flags_enum {
FICOMP = 0x001,
FLCOMP = 0x002,
FFCOMP = 0x004,
FMEM = 0x008,
FLOAD = 0x010,
FSTORE = 0x020,
FCTRL = 0x040,
FCALL = 0x080,
FRET = 0x100,
FCOND = 0x200
};
某處在代碼中有:
if (uop->flags & FCTRL)
當這條件是真的,當它不是?
uop-> flags = 0x140 =>是否爲真? – mahmood
是因爲0x140&0x040的結果是0x040。 – Lou
有關按位運算的更多詳細信息,請參見http://en.wikipedia.org/wiki/Bitwise_operation。 – Lou