E2111 Relozierbare Symbole dürfen nicht addiert oder subtrahiert werden (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Der Inline Assembler kann keine Speicheradressen addieren oder subtrahieren, die möglicherweise vom Linker geändert werden.


program Produce;

  var
    a: array[1.0,10] of Integer;
    endOfA : Integer;

  procedure Relocatable;
  begin
  end;

  procedure Assembly;
  asm
    mov eax, a + endOfA
  end;

begin
end.

Globale Variablen gehören zu den Elementen, die relozierbare Adressen produzieren. Der Inline Assembler kann solche Adressen weder addieren noch subtrahieren.

Stellen Sie sicher, dass in Ihren Anweisungen für den Inline Assembler keine relozierbaren Adressen addiert oder subtrahiert werden.