Vorlagen können Programme in sich selbst sein.Gibt es einen Vorlagen-Debugger?
Gibt es einen Vorlagen-Debugger, so dass Sie durch die "Ausführung" der Vorlage gehen können?
Dies müsste im Grunde etwas sein, das während compile/link/codegen - und unterscheidet sich von Debuggen des generierten Programms.
Selbst in vielen "primitiven" Umgebungen, in denen Sie keinen Debugger verwenden können, können Sie normalerweise "printf debugging" ausführen. Ist das mit Vorlagen überhaupt möglich?
bearbeiten: Eine andere Möglichkeit, darüber nachzudenken, ist so etwas wie der C-Präprozessor. Es ist oft sehr nützlich, "vorverarbeiteten" Quellcode zu erzeugen - die Ausgabe aus dem Präprozessor, die der Compiler tatsächlich kompiliert - damit können Sie sehen, welchen Effekt Ihre Makros haben. Ein Template-Äquivalent wäre großartig - Lassen Sie den Compiler den Nicht-Template-Quellcode ausgeben, der dem Template-Input entspricht. Der nächste, den Sie bekommen können, nehme ich an, ist ein C++ zu C Übersetzer. (Trifft der Comeau-Compiler das nicht?)
Es gibt einige Werkzeuge, aber ich habe nicht versucht, also weiß ich nicht wirklich, was sie tun oder wie gut sie es tun. Sie können in [TempLight] (https://github.com/sabel83/templight) oder [metashell] (https://github.com/sabel83/metashell) schauen –
Ich kann die Frage des "durchschreiten" nicht beantworten Vorlagenkompilierung, aber soweit "printf-style debugging", können Sie Präprozessordirektiven verwenden, um benutzerdefinierte Kommentare oder Warnungen für die Build-Ausgabe zu drucken. http://stackoverflow.com/questions/3826832/is-there-a-portable-way-to-print-a-message-from-the-c-preprocessor – iwolf
Nicht wirklich verwandt: * After * der Typ wurde abgeleitet , können Sie 'typeid' verwenden, um den Namen zu erhalten. – edmz