On Sat, 20 Dec 2008, Roderick Colenbrander wrote:
Dan Kegel a écrit :
I updated http://wiki.winehq.org/Wine64 with a list of some win64 apps. There are lots more than I expected.
From the Wiki:
"One of the major differences is the size of the "long" type, which is 64 bit in Linux but 32 bit in Windows"
Why is that so ? Shouldn't a "long" be always 32 bits ?
On Windows the size is constant so 32-bit but on linux it is 64-bit.
And it's not just Linux. As far as I know a long is 64bits on every 64bit platform out there, except for Windows. It's certainly true for all the Unices (HP-UX, Dec, Solaris, FreeBSD, etc). And really that's the way long is meant to be.
But Microsoft decided that since Windows application programmers have never encountered the word 'portability' even once in their life, they could not be expected to have understood the difference between 'int' and 'long', and thus would likely be so upset if 'long' where ever to change size that they might commit suicide in droves. So they decided that 'long' would remain 32bits.