Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
pascaldragon at googlemail.com
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