Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: Function to be called, ... was eliminated by linker

  Alt 18. Jul 2022, 15:05
Zitat:
Delphi-Quellcode:
type
  TList<T> = class(TEnumerable<T>)
    ...
    function GetItem(Index: Integer): T; inline;
    ...
  end;

function TList<T>.GetItem(Index: Integer): T;
begin
  // CheckItemRange(Index) is expanded here manually to improve codegen
  if Cardinal(Index) >= Cardinal(FCount) then
    ErrorArgumentOutOfRange;
  Result := List[Index];
end;
Getitem, bzw. Item kannst du im Debugger nicht benutzen, weil es Dieses "nicht" als Funktion gibt, da durch INLINE weboptimiert.

geht nicht: xxx[i] oder xxx.Item[i]

würde gehen: xxx.List[i]


Ja, für Debugging ist dieses INLINE hier echt blöd.
Könntest also das Inline also deaktivieren, oder alternative Funktionen nutzen, welche es "gibt".

{$INLINE OFF} , bzw. in den Projektoptionen.
https://docwiki.embarcadero.com/RADS...line_Directive
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat