Möglich durch Templates generierten Code zu sehen ?
-
Hi,
also so richtigen C++-Code wüsste ich jetzt nicht, aber der gcc bietet die Option "-frepo":
... Compile your template-using code with ‘-frepo’. The compiler will generate files with the extension ‘.rpo’ listing all of the template instantiations used in the corresponding object files which could be instantiated there ...
Da habe ich allerdings noch nie reingesehen, ob das was Sinnvolles/Verständliches ist.
Gruß,
Simon2.
-
Simon2 schrieb:
also so richtigen C++-Code wüsste ich jetzt nicht, aber der gcc bietet die Option "-frepo":
Thx, habe ich gerade ausprobiert und dann bekomme ich undefined references vom Linker
Ich mach mich dann mal weiter schlau ...
-
KasF schrieb:
Simon2 schrieb:
also so richtigen C++-Code wüsste ich jetzt nicht, aber der gcc bietet die Option "-frepo":
Thx, habe ich gerade ausprobiert und dann bekomme ich undefined references vom Linker
Ich mach mich dann mal weiter schlau ...Hi,
naja in der Doku steht dann auch, dass ein spezieller Link(wrapp)er aufgerufen werden muss ... aber ich dachte eigentlich eher, dass Du Dir mal das rpo-File in einem Editor ansiehst.
Gruß,
Simon2.
-
Es hatte doch funktioniert und die rpo wurde trotz den Fehlern erstellt
Habe mir jetzt mal die rpo angesehen und da steht nicht das was ich sehen wollte:O _Z4funcIdEvT_ O _Z4funcIiEvT_
-
Sorry, hätte ja sein können.
Gruß,
Simon2.
-
Simon2 schrieb:
Sorry
Musst dich doch nicht entschuldigen

-
Hallo,
ich vermute mal, den Code kann man sich deswegen nicht ansehen, weil er nicht gut erstellbar ist. Die Templates werden ja wahrscheinlich erst spät nach dem Parsen ersetzt und diese Ersetzungen finden dann halt nicht im Quellcode sondern im AST statt. Und um daraus wieder C++-Code zu schreiben müsste sich der Compiler plötzlich irgendwelche Symbolnamen aus den Fingern saugen (mal davon abgesehen, dass einige Konstrukte wie Variablendeklarationen zu diesem Zeitpunkt sowieso plattgemacht worden sind und sich an sich nicht mehr 1:1 rekonstrukieren lassen, wenn der AST nicht entsprechende Annotationen trägt).
-
Konrad Rudolph schrieb:
Hallo,
ich vermute mal, den Code kann man sich deswegen nicht ansehen, weil er nicht gut erstellbar ist. Die Templates werden ja wahrscheinlich erst spät nach dem Parsen ersetzt und diese Ersetzungen finden dann halt nicht im Quellcode sondern im AST statt. Und um daraus wieder C++-Code zu schreiben müsste sich der Compiler plötzlich irgendwelche Symbolnamen aus den Fingern saugen (mal davon abgesehen, dass einige Konstrukte wie Variablendeklarationen zu diesem Zeitpunkt sowieso plattgemacht worden sind und sich an sich nicht mehr 1:1 rekonstrukieren lassen, wenn der AST nicht entsprechende Annotationen trägt).
Klingt einleuchtend. AST ?
-
-
Thx
