Re: LSB1.1: /proc/cpuinfo

H. Peter Anvin
2002-01-04T22:20:15Z

Followup to: <20020104234438.G1331@niksula.cs.hut.fi>
By author: Ville Herva <vherva@niksula.hut.fi>
In newsgroup: linux.dev.kernel
> >
> > Nobody I am aware of uses 64bit int default types on a 64bit platform. Its
> > a waste of memory, bus bandwidth and instruction bandwidth. In almost
> > all cases a 32bit int is quite adequate and since size_t can be 64bit when
> > int is 32bit life works out nicely.
>
> I *think* long is 32 bit on Windows XP 64bit, though. I imagine they went
> with this hack to ensure backward compability or something. Can't tell for
> sure since the IA64 box lying around hasn't got a bootable Windows on it
> yet, just linux :).
>
> http://msdn.microsoft.com/library/en-us/win64/64bitwin_4d0z.asp?frame=true
>

Yes, 'doze uses int == long == 32 bits, long long == void * == 64
bits. This is because the 'doze API has a bunch of really bogus
assumptions hard-coded in it, back from the days when "portable" in
the M$ world meant "don't use int; use `short' for 16 bits and `long'
for 32 bits."

-hpa
--
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt <amsp@zytor.com>