比较 Virtual Pascal 中的指针

问题描述 投票:0回答:1

我必须在 Virtual Pascal 中转换一些使用内联 asm 代码的程序,但不知道如何在 Virtual Pascal 中比较指针?

以下示例导致

Operand types do not match operator
语句上出现
While

procedure ReverseBytes(var V; Size : Word);
{-Reverse the ordering of bytes from V[1] to V[Size]. Size must be >= 2.}
var
    P1, P2 : ^Byte;
    PT : Byte;
begin
    P1 := @V;
    P2 := P1;
    Inc(P2, Size-1);
    
    while (P1 < P2) do
    begin
        PT := P1^;
        P1^ = P2^;
        ^P2 := PT;
        Inc(P1);
        Dec(P2);
    end;
end;

如何在 Virtual Pascal 中比较指针(它们本身 - 而不是它们指向的内容)?

附注我知道有一些 Pascal 风格(例如 GNU Pascal)像 C 语言一样支持它(就像我上面所做的那样)。 但 Virtual Pascal 没有。

蒂亚!!

pascal
1个回答
0
投票

如果P1=P2则它们的地址相等 如果 P1^=P2^ 则指向的值相等

© www.soinside.com 2019 - 2024. All rights reserved.