C++ zu Java
-
BTW: Wenn man Reflection implementieren kann, warum dann nicht auch einen richtigen GC? Oder hat wer was davon gesagt, dass der C++-Code dem Java-Code zum verwechseln ähnlich sein soll? Muss der C++-Code wartbar sein? Oder verstehen wir den Java->C++-Umsetzer als Compiler?
Das Pointer-Layout der Klasse könnte mit der vtable und der (um Reflection-Dinge erweiterten) rtti zusammen abgelegt werden. Naja, ich glaube aber irgendwie, das geht über das, was dem OP vorschwebte (das war doch eigentlich sowieso C++->Java oder *g*) hinaus.
-
BTW: Wenn man Reflection implementieren kann, warum dann nicht auch einen richtigen GC?
Meinst du damit, einen nicht-konservativen GC? IMHO müsste man dann gewisse Informationen in die Binaries mit einarbeiten.
Und/Oder Klassen und Stack Frames nach einem festen Prinzip layouten. Ich glaube aber nicht, dass C++ Implementierungen verpflichtet sind, Datenelemente und lokale Variablen nach einem bestimmten Prinzip anzuordnen. Ich stelle mir das kompliziert vor.
Sicherlich, ein funktionierendes Binary zu erzeugen würde bestimmt gehen, aber Standardkonformen C++ Code, ich weiß nicht.
-
mit offsetof() geht das bestimmt
-
Du wirst es schon wissen.
Damit würde man wahrscheinlich jetzt wirklich Java-Code nach (extrem schlecht wartbaren) C++ Code übersetzen können. Oder haben wir noch irgendwas ungeklärtes? (z.B. der Sinn von dem Ganzen)
-
Jetzt habe ich gerade etwas kurz gedacht. Kann man in C++ überhaupt den aktuellen Stack Trace nachvollziehen? Wie sieht es mit Thread aus?
Ne, ich glaub, so leicht wird das nicht werden.