Hallo
Gibt es eigentlich Konverter von C++ nach Java und zurück oder macht es überhaupt Sinn, sowas selbst zu entwickeln ?
Ich habe mal ein kleines Prokekt umgestellt und das macht (insbesondere bei den QStrings) doch eine Menge Arbeit.
- Als erstes mal würde ich die QString und die QStringList Klasse wrappen.
- Dann müsste man (für alle Objekte) die Unterscheidung zwischen Referenzen und Pointern in JAVA und C++ auflösen
- und (wohl auch nicht unwichtig) sämtliche Zuweisungsoperatoren von Objekten in C++ durch einen copy Befehl ersetzen.
- die Zuweisung von Zeigern (pZeiger1 = pZeiger2) kann wohl bleiben
In die andere Richtung habe ich noch überhaupt keine Vorstellungen.
Macht das überhaupt Sinn soweit zu gehen. Hat da jemand Erfahrungen oder Ideen ? Ich selbst beschäftige mich gerade mal seit 2 Tagen mit Java
Gruß Arne
[erledigt] QtJambi : C++ <--> Java Converter ???
-
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
[erledigt] QtJambi : C++ <--> Java Converter ???
Zuletzt geändert von ArneStocker am 23. Juni 2007 23:00, insgesamt 1-mal geändert.
Bisher ist mir sowas noch nicht untergekommen. Ist aber ja auch noch jung. Die Frage ist allerdings, warum man sowas tun möchte.
Ein JavaToC++ und umgekehrt ist so schlecht möglich. Woher soll der Übersetzer wissen, ob nun ein Pointer besser ist oder doch lieber eine Referenz? Oder vielleicht ein Objekt?
Vorteile sehe ich nur darin, dass es unter Java einfache und angenehme Application-Server gibt. In der Entwicklung ist Qt Java schon sehr ähnlich. Und wenn sich Qt weiter durchsetzt, könnte, duch die Möglichkeit systemnah zu entwickeln, es die Plattform schlechthin werden.
edit: Mit Qt meine ich Qt/C++
Ein JavaToC++ und umgekehrt ist so schlecht möglich. Woher soll der Übersetzer wissen, ob nun ein Pointer besser ist oder doch lieber eine Referenz? Oder vielleicht ein Objekt?
Vorteile sehe ich nur darin, dass es unter Java einfache und angenehme Application-Server gibt. In der Entwicklung ist Qt Java schon sehr ähnlich. Und wenn sich Qt weiter durchsetzt, könnte, duch die Möglichkeit systemnah zu entwickeln, es die Plattform schlechthin werden.
edit: Mit Qt meine ich Qt/C++
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
Es gibt bereits so etwas wie ein (konfigurierbares) Tool namens
Qt Jambi Generator
http://doc.trolltech.com/qtjambi-1.0/co ... rator.html
warum man so ein Tool brauchen könnte ?
... weil es ganz nett ist, wenn man Projekte (oder zumindest Projektteile oder Klassen) in eine andere Sprache übernehmen kann. Bei größeren Projekten ist es immer gut zu wissen, dass man nicht an einer (Compiler-) Plattform kleben bleiben muss. Das ist etwas, was ich persönlich unter Freiheit verstehe.
Außerdem habe ich (nur so ganz persönlich) den Eindruck, dass c++ immer mehr von C# und .Net Konsorten zurückgedrängt wird, die dann wieder nur auf Windows umgebungen zu MS-Bedingungen laufen (keine Ahnung, wieweit sich das mit Mono darstellen läßt).
Ich habe z.B. kürzlich einen High-Level OpenDocument-Parser gesucht, den es leider nur für C# und für Java gibt. Das kann u.U. schon ein Grund sein, neue Projekte mit Java zu beginnen. Wenn man dann nicht einmal auf die ausgereifte Gui-Umgebung von Qt verzichten muss, warum nicht ?
Und irgendwas werden sich die Trolle dabei gedacht haben, wenn sie jetzt auch dieses Marktsegment bedienen wollen.
Gruß Arne
Qt Jambi Generator
http://doc.trolltech.com/qtjambi-1.0/co ... rator.html
warum man so ein Tool brauchen könnte ?
... weil es ganz nett ist, wenn man Projekte (oder zumindest Projektteile oder Klassen) in eine andere Sprache übernehmen kann. Bei größeren Projekten ist es immer gut zu wissen, dass man nicht an einer (Compiler-) Plattform kleben bleiben muss. Das ist etwas, was ich persönlich unter Freiheit verstehe.
Außerdem habe ich (nur so ganz persönlich) den Eindruck, dass c++ immer mehr von C# und .Net Konsorten zurückgedrängt wird, die dann wieder nur auf Windows umgebungen zu MS-Bedingungen laufen (keine Ahnung, wieweit sich das mit Mono darstellen läßt).
Ich habe z.B. kürzlich einen High-Level OpenDocument-Parser gesucht, den es leider nur für C# und für Java gibt. Das kann u.U. schon ein Grund sein, neue Projekte mit Java zu beginnen. Wenn man dann nicht einmal auf die ausgereifte Gui-Umgebung von Qt verzichten muss, warum nicht ?
Und irgendwas werden sich die Trolle dabei gedacht haben, wenn sie jetzt auch dieses Marktsegment bedienen wollen.
Gruß Arne
Naja, um von Java auf c++ runter zu kommen, gibts das JNI ....
C++ irgendwo anders, ist irgendwie schwer, weil c++ und c++ binaer gesehen nich mal das selbe ist. Da haben die compiler viel zu viel freiheiten, die sie auch nutzen .... die selbe anwendung einmal mit dem mingw und einmal mit dem msvc uebersetzt koennen sich scho unterscheiden. Name-mergling, Parameterausrichtung etc sind da problematisch.
Also wenn es java zu C++ QT bindings gaebe, muesste die fuer den entsprechenden compiler, mit der die QT uebersetzt wurde, sein.
bleibt also aus der richtung nur plain C ueber, was binaer definiert ist.
und C - dll's kann man unter java nutzen, so viel ich weiss.
Ciao ...
C++ irgendwo anders, ist irgendwie schwer, weil c++ und c++ binaer gesehen nich mal das selbe ist. Da haben die compiler viel zu viel freiheiten, die sie auch nutzen .... die selbe anwendung einmal mit dem mingw und einmal mit dem msvc uebersetzt koennen sich scho unterscheiden. Name-mergling, Parameterausrichtung etc sind da problematisch.
Also wenn es java zu C++ QT bindings gaebe, muesste die fuer den entsprechenden compiler, mit der die QT uebersetzt wurde, sein.
bleibt also aus der richtung nur plain C ueber, was binaer definiert ist.
und C - dll's kann man unter java nutzen, so viel ich weiss.
Ciao ...