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

Alles zum Qt Framework für Java
Antworten
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

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

Beitrag 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
Zuletzt geändert von ArneStocker am 23. Juni 2007 23:00, insgesamt 1-mal geändert.
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag 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++ ;)
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag 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:)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

qdbus fehlt nur weil dbus unter windows noch nicht so läuft wie es soll. Also kann Trolltech das auch nicht einbauen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

deshalb ja auch Abhilfe in Sicht:) Denn die D-Bus Entwickler werden es ja irgendwann unter Windows zum laufen bekommen.
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag 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
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag 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 ...
Antworten