I'm somewhat familiar with the concept of stdint.h in C. By explicitly stating the size of the integer, the header file will replace the #define integer with the appropriate integer on that machine. For example, if my machine has 16 bit unsigned integers, uint32_t
would be replaced with long unsigned int
.
However, let say your machine only supports up to 32 bit integers. What would happen if you used an int64_t
? If this integer size is not natively supported, how would this be resolved since there is no substitution that can fix it?
Would the compiler throw and error saying that it can't be resolved? Or would it attempt to use two 32bit allocations to hold the 64bit data type?