Which one i should use to do 64-bit pointer math for Delphi,, NativeUInt or NativeInt -
since there 64-bit delphi compiler, should use 64-bit pointers.
so wondering difference if use nativeint or nativeuint. example,
should use
pointer(nativeuint(pointer(buffer)) + longword(datawrote))^,
or
pointer(nativeint(pointer(buffer)) + longword(datawrote))^,
does matter? better style?
the simplest thing cast pointer pbyte
. can perform arithmetic on that:
pbyte(buffer) + offset
that expression of type pbyte
, may need cast other pointer type.
as general rule, pointers not integers , should resist temptation convert cast them integers. best let pointers pointers. can perform pointer arithmetic on pansichar
, pwidechar
, pbyte
, , other pointer types can use {$pointermath on}
enable pointer arithmetic.
Comments
Post a Comment