From: JB on
On 2010-02-08, glen herrmannsfeldt <gah(a)> wrote:
> Richard Maine <nospam(a)see.signature> wrote:
>> Several vendors pointed out that there is way too much existing code
>> that would break badly if the default sizes were anything other than 32
>> bits. No, people shouldn't code like that, but yes, lots of them do. The
>> vendors have lots of reason to continue to keep such codes working, even
>> in "64-bit" environments.
> Then the DEC Alpha first came out, the C compilers that came with
> it used (long) for the 64 bit type. That made sense (there wasn't
> another type available) but again broke too much existing code.
> In popular C implementations, (int) was either 16 or 32 bits,
> (short) was fairly reliably 16 bits and (long) reliably 32 bits.
> This was especially true in networking code where data structures
> based on 16 and 32 bit integers are common. Later, a (long long)
> type was added as the 64 bit type, and, I believe, the DEC compilers
> were changed.

I don't know which OS you're referring to, but all 64-bit Unix-like
systems I have used, including Digital Unix on Alpha, have been
LP64. Microsoft is AFAIK the odd man out, having chosen LLP64.