[Lazarus] C Integer types
Dave Coventry
dgcoventry at gmail.com
Sat Jul 7 11:07:59 CEST 2012
Thanks Marco,
I'll try that.
On 7 July 2012 09:43, Marco van de Voort <marcov at stack.nl> wrote:
> In our previous episode, Dave Coventry said:
>> I have the following C code which I'm trying to emulate in Pascal:
>>
>> seqence_crc = *((int64_t*)data);
>> seqence_key = *((int64_t*)&data[8]);
>> compr_crc = *((int64_t*)&data[16]);
>> compr_len = *((int32_t*)&data[24]);
>>
>> Currently, I'm doing it manually, but I'm not getting the results I'm expecting.
>
> This assumes data is a pbyte or pchar (char * or byte *)
>
> then & translates to @, and int64_t* to pint64 the first * changes to ^ at
> the end:
>
> seqence_crc:=pint64(data)^;
> seqence_key:=pint64(@data[8])^;
> compr_crc:=pint64(@data[16])^;
> compr_len:=pint64(@data[24])^;
>
>> I'm pretty sure there is a way of doing this natively, but I can't
>> seem to find it.
>
> It's 1:1 translatable. Note the absence of @ and & in the first line though,
> that is on purpose. (in both fragments)
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
More information about the Lazarus
mailing list