Ui! Aber keinen öffentlichen, oder? Egal, ich fühl mich trotzdem ins letzte Jahrtausend zurückversetzt.
Kein öffentlicher. Ich kann mit git überhaupt nicht und der svn-Support in Eclipse ist einfach nur krank.
Und eclipse mag ich
Besonders schön ist das ja alles noch nicht. Bevor du mit Speicherverwaltung anfängst (von der ich möglichst viel auch in Java schreiben würde), wäre es vielleicht nett, erstmal den vorhandenen Code aufzuräumen. Solche Sachen wie...
Speicherverwaltung in Java schreiben? Geht nicht. Java-Objekte (keine einfachen Datentypen wie int, char, float, double) werden erst zur Laufzeit erstellt und von irgendwo muss der Speicherplatz ja kommen.
Zumindest nehme ich das mal an, denn wenn ich ein Array erstellen will, brauche ich eine _Jv_alloc(oder so ähnlich)-Funktion.
Was man natürlich machen könnte, ist das Array als native Funktionen zu Java durchzureichen, aber dann kann man auch die ganze Speicherverwaltung in C++ coden. Und Pointer überhaupt könnten ein kleines Problem werden, da wäre eine lowlevel-Klasse für Java wohl angebracht, um wenigstens Ansatzweise mit Pointern arbeiten zu können.
"extern 'Java'" kannte ich noch nicht. Mangelt GCC die Namen dann anders? GCJ hält sich doch an GCC-Regeln?
Was ist denn bitteschön __java_char? Wird intern in der libgcj verwendet, ich weiß aber nicht, wo das herkommt.
Und den Unterschied zw. "_ZGAN4Init10write_charEJvw"(GCJ) und "_ZN4Init10write_charEw"(G++) verstehe ich nicht. besonders das am Ende reingeschmissene "Jv".
Und im Moment ist das ganze eh nur ein Test, bis da was wirklich brauchbares (und sauberes) am Besten komplett ohne Stubs rauskommt, kann das noch ein Weilchen dauern. Am Ende braucht man ja eine minimale GCJ-Runtime im Kernel. (Ohne Exceptions, die sind im Kernel bis zu einem bestimmten Punkt sinnlos).