我应该使用哪一个为Delphi,NativeUInt或NativeInt进行64位指针数
发布时间:2020-12-15 09:21:03 所属栏目:大数据 来源:网络整理
导读:由于有64位delphi编译器,我们应该使用64位指针. 如果我们使用nativeint或nativeuint,那么想知道有什么区别.例如, 我应该用吗? Pointer(NativeUInt(Pointer(Buffer)) + LongWord(datawrote))^, 要么 Pointer(NativeInt(Pointer(Buffer)) + LongWord(datawrot
由于有64位delphi编译器,我们应该使用64位指针.
如果我们使用nativeint或nativeuint,那么想知道有什么区别.例如, 我应该用吗? Pointer(NativeUInt(Pointer(Buffer)) + LongWord(datawrote))^, 要么 Pointer(NativeInt(Pointer(Buffer)) + LongWord(datawrote))^, 有关系吗?哪个风格更好? 解决方法
最简单的方法是将指针强制转换为PByte.然后你可以对它进行算术运算:
PByte(Buffer) + offset 该表达式是PByte类型,因此您可能需要将其转换回其他指针类型. 作为一般规则,指针不是整数,你应该抵制将它们转换为整数的诱惑.让指针成为指针几乎总是最好的.您始终可以对PAnsiChar,PWideChar和PByte执行指针运算,对于其他指针类型,您可以使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |