Thema: Delphi Makro-Ersatz

Einzelnen Beitrag anzeigen

Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Makro-Ersatz

  Alt 24. Nov 2007, 17:23
Hi,

sowas steht in der Hilfe zu TurboDelphi nicht drin, im Gegenteil lässt sich herauslesen, dass es durchaus eine Funktion hat:

Zitat:
Beim Delphi-Compiler ermöglicht zur Verbesserung der Leistung, Funktionen und Prozeduren mit der Direktive inline zu versehen. Wenn eine Funktion oder Prozedur bestimmten Kriterien entspricht, fügt der Compiler Code direkt ein anstatt einen Aufruf zu generieren. Das Ergebnis dieser Leistungsoptimierung ist schnellerer Code, der jedoch mehr Speicherplatz in Anspruch nimmt. Der Compiler produziert dabei eine größere Binärdatei. Die Direktive inline wird in Funktions- und Prozedurdeklarationen und -definitionen, genau wie andere Direktiven, verwendet.
Weiter unten steht:

Zitat:
{$INLINE AUTO} Verhält sich wie {$INLINE ON}; zusätzlich werden Routinen ohne die Direktive inline für das Inlining vorgesehen, wenn ihr Code weniger oder genau 32 Bytes umfasst.
Werd mal probieren, was passiert, wenn ich in meinem Beispiel (was ja entsprechend klein sollte) [$INLINE AUTO} einfüge, wass die Assembler-Ansicht dann sagt.

[edit]

Die CPU-Ansicht sagt:

Code:
...
FooBar.pas.345: foo2;
...
00477F0E E809FFFFFF      call foo2;
...
Klappt also offensichtlich nicht.
[/edit]

Mfg
FAlter
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat