| Data type | LP32 | ILP32 | LP64 | LLP64 | ILP64 | SILP64 |
|---|
| char | 8 | 8 | 8 | 8 | 8 | 8 |
| short | 16 | 16 | 16 | 16 | 16 | 64 |
| int | 16 | 32 | 32 | 32 | 64 | 64 |
| long | 32 | 32 | 64 | 32 | 64 | 64 |
| long long | | | 64 | 64 | 64 | 64 |
| pointer | 32 | 32 | 64 | 64 | 64 | 64 |
| Macro | Description |
|---|
__fourbyteints__ = 0 | Defined by MPW and Metrowerks on Motorola 68k targets when configured to use 16-bit int |
| Macro | Description |
|---|
_ILP32 | Defined by HP aCC and Sun Studio |
__ILP32__ | Defined by GNU C |
__fourbyteints__ = 1 | Defined by MPW and Metrowerks on Motorola 68k targets when configured to use 32-bit int |
| Macro | Description |
|---|
_LP64 | Defined by HP aCC and Sun Studio |
__LP64__ | Defined by GNU C |