Am 07.04.2017 um 16:15 schrieb Marco van de Voort:
> In our previous episode, African Wild Dog said:
>> Which integer types have their size dependent on platform?
>> E.g. in Delphi, LongInt can 32 or 64 bits depending on the platform.
> 
> In Delphi they retroactively equated longint to C long, being 32-bit on
> 64-bits windows and 64-bit on Linux. The Delphi Linux compiler is btw a
> different compiler than windows.
> 
> On FPC it is always 32-bit. Ptrint and ptruint scale with pointer size, and
> integer depends on compilation mode, 16 or 32-bit.
> 
> For the C compiler that FPC corresponds with (usually gcc), there are types
> that correspond with C types in unit ctypes.
> 
> Maybe some of the new ultra small targets like AVR make exceptions, 

No. The only difference is that the smallest integer operation is 8 bit: On a 
32 bit target,
<byte>*<byte> is evaluated as a longint, on avr, it is evaluated as 8 bit 
operation.

However, we introduced ALUSInt/ALUUInt, it is an int type which scales with the 
ALU size of the CPU
as PtrInt/PtrUInt are larger than the ALU on AVR.

> but
> those are the general rules.


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to