Seite 1 von 1

[erledigt] QtJambi : C++ <--> Java Converter ???

Verfasst: 5. November 2006 19:08
von ArneStocker
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

Verfasst: 6. November 2006 12:54
von Sym
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++ ;)

Verfasst: 6. November 2006 13:22
von BartSimpson
Und obendrein ist die Lizenz von Qt außerst fair. Nun gut unter Windows fehlt ActiveX und D-Bus. Wo bei dem letzteren Abhilfe in sicht ist:)

Verfasst: 6. November 2006 13:55
von Christian81
qdbus fehlt nur weil dbus unter windows noch nicht so läuft wie es soll. Also kann Trolltech das auch nicht einbauen.

Verfasst: 6. November 2006 14:02
von BartSimpson
deshalb ja auch Abhilfe in Sicht:) Denn die D-Bus Entwickler werden es ja irgendwann unter Windows zum laufen bekommen.

Verfasst: 6. November 2006 16:37
von ArneStocker
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

Verfasst: 28. September 2007 14:28
von RHBaum
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 ...