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

Sven Barth pascaldragon at
Tue Aug 17 12:08:04 CEST 2010

Am 17.08.2010 11:43, schrieb Florian Klaempfl:
> And don't forget, the win64 api has
> 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.

Normal SEH is considered purely CPU dependant, so no problem here.

The vector exception handling approach which came up with 64-bit was 
also included in the 32-bit systems (but you can only rely on the fact 
that all 64-bit systems have it).

And if you're talking about the new 64-bit only much more complicated 
exception scheme which uses new sections in the PE file:
1. Also CPU dependant (only on 64-bit systems)
2. FPC isn't even using SEH to its full potential, so why bother... 
(also it seems to be only really needed to catch exceptions thrown by MS 
Visual C++ libraries as the older exception scheme (SEH) is still available)

But as I said in my past mails: the decision was done already a long 
time ago and thus I live with it (but I don't need to agree with it :P ).


More information about the fpc-pascal mailing list