Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]

Sven Barth pascaldragon at
Tue Aug 17 13:56:06 CEST 2010

Am 17.08.2010 12:43, schrieb Marco van de Voort:
> In our previous episode, Sven Barth said:
>>> slight differences from the 32 bit api e.g. regarding exception handling.
>> The differences are either slight enough to be left to the developer or
>> be considered CPU dependant (and could thus have been moved into
>> $platform-subdirectories like was done with Linux). And from these CPU
>> dependant differences only exception handling is a bigger problem.
> Windows is more binary centric than Linux.
> In Linux every app is "linux" and then compiled to linux/x86 etc
> On windows, typically binary files are distributed and win64 bins don't work
> on win32, so win32<>win64.

That is a bit unfair now. Comparing binary only applications to source 
only ones regarding portability.

If I write a proprietary application for Linux and distribute it for x86 
only it doesn't necessarly run on a x86_64 Linux (at least not on mine, 
because I don't have the 32 bit libraries installed). Also if I compile 
my application for x86_64 only than it won't work on x86 Linux. So 
Linux32 <> Linux64.

Also if I write an application for Windows and distribute its source I 
can compile it for Windows 32 bit and Windows 64 bit without problems 
(even if I'd not use Pascal but plain MS C).

And even x86 and x86_64 Linux differ in some syscalls, so the Windows 
API doesn't need to be the exact same on both Platforms (but it is 
mostly except of some platform specific pieces).

But you know what? Let's stop this discussion, before it turns into a 
usual flamewar thread. I've said my opinion and that I'd have done that 
different, but I can't change it (without forking FPC) and I'll still 
continue to use FPC happily ever after no matter whether we have 
seperate win32/64/128 targets or a single windows one.


More information about the fpc-pascal mailing list