Graeme Geldenhuys schrieb:
On 21 June 2011 13:09, Hans-Peter Diettrich <drdiettri...@aol.com> wrote:
A LongWord will always have 32 bits, because it's a concrete type. Instead
Integer, Cardinal, Char, String or Real can vary with every compiler version
or target platform, because these are *generic* types.


Um, I think you are mistaken.

No.

Integer is *always* 32-bits on either
32-bit or 64-bit target platforms.

It *happens* to have 32 bit there. On 16 bit platforms (TP, Delphi 1) it was 16 bit. I'm not sure when Delphi changed that to 32 bit, perhaps not before D3.

NativeInt is different sizes on
different target platforms. I think LongWord also varies in size based
on target platform, though not 100% sure on this one.

In Delphi (XE) NativeInt has the CPU register size, assuming that data and address registers have the same size (i.e. unsegmented pointers). LongWord still is documented as a fundamental (non-generic) 32 bit type.

DoDi

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to