__attribute__((mode)

typedef unsigned int u_int8_t attribute ((mode (QI))); ##
typedef unsigned int u_int16_t attribute ((mode (HI)));
typedef unsigned int u_int32_t attribute ((mode (SI)));
typedef unsigned int u_int64_t attribute ((mode (DI)));

QI: An integer that is as wide as the smallest addressable unit, usually 8 bits.

HI: An integer, twice as wide as a QI mode integer, usually 16 bits.

SI: An integer, four times as wide as a QI mode integer, usually 32 bits.

DI: An integer, eight times as wide as a QI mode integer, usually 64 bits.

SF: A floating point value, as wide as a SI mode integer, usually 32 bits.

DF: A floating point value, as wide as a DI mode integer, usually 64 bits.

So DI is essentially sizeof(char) * 8.

typedef unsigned int uintptr_t attribute(mode(pointer)

你可能感兴趣的:(笔记)