Ich verwende IAR als Compiler für eingebettetes Projekt. Ich versuche, einige Vorlagen für grundlegende Typen wie Liste einzuführen, aber jedes erstellte STL-Listenobjekt erhöht die Code-Größe um etwa 200 Bytes relativ zu unserer aktuellen C-Stil-Implementierung. Ich versuchte, einen kleinen Teil der STL-Liste selbst zu implementieren, in der Hoffnung, einen kleineren Code Fußabdruck zu bekommen, aber am Ende war es schwerer als die vollständige STL-Liste. Mache ich etwas schrecklich falsch in meiner Verwendung von Vorlagen?Warum benötigt diese Listenimplementierung mehr Platz als die Liste?
Dank
P. S. Bitte beachten Sie, dass der Code noch nicht getestet wurde und möglicherweise Drachen enthält.
Ich bin mir nicht sicher, ob ich dir folge. Wie wird das Hinzufügen von mehr Code zu meiner Implementierung den Code-Footprint reduzieren? Ich habe die grundlegenden Methoden erst einmal für Testzwecke implementiert. – shayst
Sprechen Sie über die Codegröße oder Laufzeitgröße der Listendatenstruktur? – Arunmu
Zum einen konstruieren Sie standardmäßig ein 'T' und ordnen es dann zu. Das könnte zu etwas anderem führen. Sie sollten Placement new oder zumindest einen sinnvollen Konstruktor für Ihre 'LinkListElement'-Struktur verwenden. –