![]() |
Units oder Include-Dateien - Overhead?
Hallo,
um meinen Code etwas übersichtlicher zu gestalten, habe ich ihn bisher auf mehrere Units verteilt. Das hat den Vorteil, dass ich nicht einen ellenlangen Quelltext bekomme durch den ich ewig scrollen muss, sondern das Ganze nach Funktionsgruppen aufteile und diese dann auch getrennt austesten und später "vergessen" kann. Jetzt habe ich irgendwo (?) gelesen, dass das Einbinden von Units einen zusätzlichen Overhead im Programm erzeugt (also auch die EXE vergrößert), während das bei Include-Dateien nicht so wäre. Hat da jemand Informationen dazu und weiß, ob es sich überhaupt lohnt darüber nach zu denken? Gruß, Guido |
Re: Units oder Include-Dateien - Overhead?
Nene, das hast du falsch verstanden. $I erzeugt praktisch den identischen Quelltext, wie er sowieso da wäre. Die einzelnen Units werden dadurch compiliert nicht größer.
|
Re: Units oder Include-Dateien - Overhead?
Includedateien werden primär dazu verwenden Compilerschalter in Quelldateien unterzubringen und nicht im Projekt definieren zu müssen. Ist vor allem für Komponentenhersteller sinnvoll, da sonst jeder User default-werte von Compilerschaltern in jedem Projekt unterbringen müsste.
|
Re: Units oder Include-Dateien - Overhead?
Zitat:
|
Re: Units oder Include-Dateien - Overhead?
Die Verwendung von Units erzeugt klar einen Overhead, da es nicht das selbe wie ein include ist. Units sind Module.
|
Re: Units oder Include-Dateien - Overhead?
Jetzt gebe ich auch meinen Senf dazu.
Includes: - überall, wo Du $I datei.inc machst, wird der Code der inc-Datei eingefügt.. Also wenn Du das in 10 Dateien hast, wird der Code 10x eingefügt. - in Includes kannst Du nicht "surfen". Klick mal bei gedrückter STRG-Taste auf eine Funktion oder Variable oder Klasse. Dann kommst Du zu der Definition. Mit ALT-CursorLinks kommst Du wieder zurück. Das funktioniert innerhalb einer inc-Datei nicht. - Das "Suchen in Verzeichnissen" schliesst die inc-Dateien nicht mit ein. - im Delphi-Editor werden inc-Dateien nicht mit CodeHighlighting dargestellt, sehen also nicht so "schön" aus. Uses, Units: - die Unit wird genau dort eingebunden, wo sie benötigt wird - eine Unit wird nicht mehrmals eingebunden - das "surfen" funktioniert - CodeHighlighting geht Also wenn ich includes sehe, bei denen mehr als nur "Globale Variablen" oder "Globale Definitionen" oder Compiler-Direktiven drin sind, gibt's Schimpfe. Alles andere ist nämlich bei uns in der Firma "verboten". Mir graut's schon immer, wenn ich was mit den IBObjects machen muss. Dort wimmelt es nur so von includes. |
Re: Units oder Include-Dateien - Overhead?
Zitat:
|
Re: Units oder Include-Dateien - Overhead?
Ich muss noch einmal (nach einiger Zeit) eine Frage dazu loswerden:
Wird eine Unit komplett in die exe kompiliert? Also, ich habe eine Unit mit vielen nützlichen Proceduren und Funktionen, die ich in die uses-Klausel mit aufnehme. Daraus benötige ich dann im Quelltext nur eine Funktion. Wird dann nur die benötigte Funktion in die exe eingebunden oder alles? Ich weiß, in Zeiten riesiger Arbeitsspeiche muss man sich keinen großen Kopf um solche Sachen machen, aber etwas interessiert es mich doch und ich bin da auch etwas penibel... Guido |
Re: Units oder Include-Dateien - Overhead?
Zitat:
Übrigens, das "Deklaration suchen" etc auch. @guidok, es wird aus der Unit nur das eingebunden was auch verwendet wird. Der Rest bleibt draussen. Sinn macht das auslagern verschiedener Proceduren und Funktionen (sowie Konstanten etc.) in Include Datein nur wenn man es mit der nonVCL-Programierung gern mal übertreibt. Solche Kopieraktionen dauern dann mal schon so um die 2 h :mrgreen: |
Re: Units oder Include-Dateien - Overhead?
Danke turboPascal! Das habe ich mir schon so gedacht und es ist ja auch sinnvoll so.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 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-2025 by Thomas Breitkreuz