[fpc-pascal] size of "long" on different platforms

Den Jean Den.Jean at telenet.be
Wed Nov 15 12:48:17 CET 2006

On Wednesday 15 November 2006 08:48, Florian Klaempfl wrote:
> > I do not see the win64 exception in the defines ??
> Win64 has no such exceptions?

because I was not sure, I was posting.

Is WIN64 not LLP64 ?


Another alternative is the LLP64 model that maintains compatibility with 32 
bit code, by leaving both int and long as 32-bit. "LL" refers to the "long 
long" type, which is at least 64 bits on all platforms, including 32 bit 
environments. Most 64 bit compilers today use the LP64 model (including 
Solaris, AIX, HP, Linux, MacOS native compilers), Microsoft however decided 
to use the LLP64 model.
Note that a programming model is a choice made on a per compiler basis, and 
several can coexist on the same OS. However typically the programming model 
chosen by the OS API as primary model dominates.

does this mean that the long in

 bool myEventFilter(void *message, long *result);

is 32 bit on win64 ??? 


Den Jean

More information about the fpc-pascal mailing list