you are viewing a single comment's thread
view the rest of the comments
[–] 7 points 2 years ago (1 child)

My 32-bit VM:

type     : size (bytes)
int      : 4
long     : 4
long long: 8
double   : 8
time_t   : 4
float    : 4
l double : 12
int8_t   : 1	INT8_MAX  : 127
int16_t  : 2	INT16_MAX : 32767
int32t   : 4	INT32_MAX : 2147483647
int64_t  : 8	INT64_MAX : 9223372036854775807
uint8_t  : 1	UINT8_MAX : 255
uint16_t : 2	UINT16_MAX: 65535
uint32t  : 4	UINT32_MAX: 4294967295
uint64_t : 8	UINT64_MAX: 18446744073709551615

It does support 64-bit sizes, weirdly enough time_t is not one of them.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 2 years ago

    time_t will remain 32-bit to avoid breaking ABI compatibility. However, Linux on 32-bit platforms has a full set of syscalls that return time64_t values. I don't know about other distros, but since 24.04 Ubuntu has had everything in its repositories using those calls.

  • source
  • parent