Legend:
Standard behavior | |
Standard and a grateful surprise: other compilers/platforms fail | |
Standard but be careful: different from everywhere else | |
Unexpected: probably a compiler bug or missing feature |
Numerical type sizes in C (bits)
Platforms \ Types | char | short | int | size_t | ssize_t | long | long long | void* | off_t | float | double |
Win32, gcc nuwen 7.2 | 8 | 16 | 32 | 32 | 32 | 32 | 64 | 32 | 32 | 32 | 64 |
Win32, gcc nuwen 7.2 LFF | 8 | 16 | 32 | 32 | 32 | 32 | 64 | 32 | 32 | 32 | 64 |
Win32, MSVC | 8 | 16 | 32 | 32 | - | 32 | 64 | 32 | 32 | 32 | 64 |
Linux32, gcc | 8 | 16 | 32 | 32 | 32 | 32 | 64 | 32 | 32 | 32 | 64 |
Linux32, gcc LFF | 8 | 16 | 32 | 32 | 32 | 32 | 64 | 32 | 64 | 32 | 64 |
Win64, gcc mingw64 | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 64 | 32 | 32 | 64 |
Win64, gcc mingw64 LFF | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 64 | 64 | 32 | 64 |
Win64, MSVC | 8 | 16 | 32 | 64 | - | 32 | 64 | 64 | 32 | 32 | 64 |
Linux64, gcc | 8 | 16 | 32 | 64 | 64 | 64 | 64 | 64 | 64 | 32 | 64 |
Linux64, gcc LFF | 8 | 16 | 32 | 64 | 64 | 64 | 64 | 64 | 64 | 32 | 64 |