Erledigt: >Kompiler Frage : Nicht verwendete Funktionen

Mir ist aufgefallen beim schreiben eines Sketch , wenn ich z.B nach dem überprüfen (kompilieren) meines Programcodes, funktionen hinzufüge, diese jedoch nirgends im Setch aufrufe und den Sketcherneut kompiliere, bei der Asugabe : Der Sketch verwendet xxxxx Bytes, nur eine geringfügige bis garkeine Zunahme an Programmgrösse zu sehen ist.
Dies geschieht erst, wenn ich die Funktion auch von irgendwo im Sketch aufrufe.

Nun meine (vielleicht etwas dumme?) Frage:
Bedeutet dies, das unbenutzte Funktionen beim Kompilieren des Sketch NICHT mit eingebunden , also nicht mit kompiliert werden? Oder wird das nur nicht von der IDE/dem Kompiler angezeigt?

Oder anders ausgedrückt: werden somit auch Funktionen in Libraris, die weder ich, noch die Lib selbst aufrufen nicht mit kompiliert und damit Speicher gespart?

Ja. Der Compiler optimiert sehr viele Sachen. Was da an Assembler Code herauskommt ist manchmal ganz anders als das was du in C++ programmiert hast

Soweit es ihm möglich ist, wirft der Linker unbenötigte Komponenten raus.
Selbst wenn sie ihm vom Compiler überreicht wurden.

Du kannst dir anschauen, was der Compiler und der Linker aus deinem Code macht:

Danke euch Beiden. Damit ist mein Wissenshunger zu dieser Frage gestillt. Für die weitere Frage zu ner bestimten Lib eröffne ich ein neues Thema.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.