Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi was ist inline in Delphi (https://www.delphipraxis.net/46500-ist-inline-delphi.html)

sniper_w 25. Mai 2005 23:40


was ist inline in Delphi
 
Was ist "inline" ? Wo und wie benutzt man es ? Beispiel ?
-Danke-

P.S. Benutze Delphi 6 Proffesional

jim_raynor 26. Mai 2005 00:00

Re: was ist inline in Delphi
 
Schau in der Onlinehilfe. Da steht:
Zitat:

Das reserviert Wort inline und die Direktive assembler werden aus Gründen der Abwärtskompatibilität mitgeführt und haben keinerlei Auswirkung auf den Compiler.

Robert_G 26. Mai 2005 00:24

Re: was ist inline in Delphi
 
In D2005 stellt es eine Art Hinweis an den Compiler dar.
Die endgültige Entscheidung trifft der Koposter, doch man kann ihm damit den Wunsch äußern, dass man die Funktion gerne inline benutzen will. Also, dass es keinen funtktions aufruf im Kompilat gibt sondern der Inhalt der Funktion an die Stelle kopiert wird.
Bei kleinen, oft aufgerufenen Funktionen lässt sich durch den fehlenden Sprung sicher einiges an Leistung gewinnen. (auch der Prozessor kann so seinen Cache besser planen...)

Robert Marquardt 26. Mai 2005 06:02

Re: was ist inline in Delphi
 
Die Funktion wird nicht aufgerufen sondern ihr Code eingefuegt. Ein Verwandter des Loop-Unrolling.
Das bringt bei einigen Funktionen (besonders z. B Move) oft einen erheblichen Tempogewinn.
Schau dir mal die Implementation von TReader an. Dort wird ein Move() durch direkten Assemblercode ersetzt.
Das bringt erheblich Geschwindigkeit.

sniper_w 26. Mai 2005 12:16

Re: was ist inline in Delphi
 
Zitat:

dass man die Funktion gerne inline benutzen will
Geht dass in Delphi 6 ? In irgend einer Datei von Mike L. habe ich Rect unt Point Procedure als inline gefunden ?!
Bei mir Zeigt der Compiler ein Fehler :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz