John Love-Jensen wrote:
Hi Yang Zhang, My guess (purely speculative, not authoritative) is that on your platform, a long int is 64-bit, and a long long is 64-bit. Assuming that guess is correct, since long int is 64-bit *AND* long int is part of the C99 standard the stdint.h used long int to be the alias for int64_t. Whereas long long is a compiler extension*, so the long int was preferential to long long. Sincerely, --Eljay * Is long long still a compiler extension for C99? I don't use C99.
Hmm, you're right. So far, I believe: On 64-bit: ??????? == long long int, aka long long int64_t == long int, aka long int32_t == int On 32-bit: int64_t == long long int, aka long long int32_t == long int, aka long int32_t == int The mystery deepens. (And I don't know about the C99 story.) -- Yang Zhang http://www.mit.edu/~y_z/