Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Java - Project compilieren (https://www.delphipraxis.net/42552-java-project-compilieren.html)

MagicAndre1981 20. Mär 2005 19:53

Re: Java - Project compilieren
 
@Leddl
Du hast schon recht, dass damit keine exe erstellt wird. Ich hab nur compilieren gelesen. Ein Programm zum erstellen von Exe-Dateien ist : exe4j

André

Robert_G 20. Mär 2005 19:58

Re: Java - Project compilieren
 
Zitat:

Zitat von leddl
"javac" interpretiert deinen Code und "java" führt die erstellten Dateien aus. Nix da mit exe.

ts... ts...
Java besitzt schon seit Jahren einen JIT Compiler, der seit dem SDK 1.4 sogar ziemlich gut ist. ;)
Dass komplett durchkompilierte Binaries sehr schnell sehr groß werden überascht mich eigentlich überhaupt nicht.
Wenn du die extreme Anzahl von Basisklassen und Technologien einer solchen VM (zum Beispiel Reflection) in ein Binary stopfen willst, muss da nunmal tierisch viel rein. :mrgreen:
Das ist nicht mit dem bisschen WinApi->VCL in einer 1MB großen Delphi Echse vergleichbar. (Der Vergleich wäre für beide Seiten ungerecht ;) )

Über den Sinn von solchen Abenteuern lässt sich streiten...

leddl 20. Mär 2005 20:10

Re: Java - Project compilieren
 
Ah OK, das kannte ich nich. Is mit 59$ sogar noch relativ günstig. ;)
Ist die Trial Version in irgendeiner Weise beschnitten, außer das Registrierungshinweise kommen?

Achja, hier ein Link dazu: * Klick *

@Robert_G:
Was heißt da "ts... ts..."? Versteh ich im Hinblick auf den von dir zitierten Textteil nicht.
Oder willst du behaupten, daß man mit "javac" und "java" doch ne exe erstellen kann? :gruebel:

Ich benutze selbst zwar nur sehr selten Java, käme da aber wohl auch nicht unbedingt auf die Idee, daraus ne exe zu machen. Aber geisi hat halt nunmal gefragt, wie er das mit diesen Befehlen machen kann, und das geht meines Wissens eben nicht. Nichtsdestotrotz will er aber halt eine haben. Über Sinn und Zweck läßt sich natürlich streiten...

MagicAndre1981 20. Mär 2005 20:17

Re: Java - Project compilieren
 
Robert bezieht sich auf interpretiert.

leddl 20. Mär 2005 20:22

Re: Java - Project compilieren
 
Aha, OK. Und was is daran falsch? Schließlich ist das doch genau das, was der Java-Compiler macht. Ich hab mich ja nich abfällig geäußert oder so. War ja nur ne Erklärung. Oder lag ich wirklich falsch?

MagicAndre1981 20. Mär 2005 20:24

Re: Java - Project compilieren
 
JAVA wird nicht interpretiert, sondern zur laufzeit in Maschinencode übersetzt (wenn du eine Funktion aufruftst). Daher der Name Just In Time-Compiler.

André

leddl 20. Mär 2005 20:30

Re: Java - Project compilieren
 
Ähm, jetzt muß ich mich mal ganz dumm stellen. :gruebel: Wie nennt man es denn dann, wenn man per javac seinen Code (.java) in .class verändert? Bei uns nannte sich das "interpretieren". Klar, daß die Compilierung erst auf dem Zielsystem stattfindet. Aber AFAIK muß Code vor dem Asuführen eben interpretiert werden.

Alexander 20. Mär 2005 21:10

Re: Java - Project compilieren
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Alexander
Selbst wenn, musst du immer die VM installieren...

Wenn Du mich meinst: Nein, du brauchst keine VM mehr! Alles was zum laufen benötigt wird, wird in die Exe/DLL-Kompiliert und es sind nur noch Win32-Abhängigkeiten vorhanden. Jedoch wird die Exe/DLl schnell 10 MB groß.

Bezog sich eigentlich nicht auf deinen Post (merkwürdigerweise hat er mir keine Meldung beim Posten gezeigt, dass du schon
geschrieben hast...)
Jedenfalls müsste dann ja in der EXE eine Art VM sein. Denn ohne funktioniert es einfach nicht.

Bernhard Geyer 21. Mär 2005 07:14

Re: Java - Project compilieren
 
Zitat:

Zitat von Alexander
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Alexander
Selbst wenn, musst du immer die VM installieren...

Wenn Du mich meinst: Nein, du brauchst keine VM mehr! Alles was zum laufen benötigt wird, wird in die Exe/DLL-Kompiliert und es sind nur noch Win32-Abhängigkeiten vorhanden. Jedoch wird die Exe/DLl schnell 10 MB groß.

Bezog sich eigentlich nicht auf deinen Post (merkwürdigerweise hat er mir keine Meldung beim Posten gezeigt, dass du schon
geschrieben hast...)
Jedenfalls müsste dann ja in der EXE eine Art VM sein. Denn ohne funktioniert es einfach nicht.

Genau. die VM ist in die Exe kompiliert. Zu finden ist das Produkt unter http://www.excelsior-usa.com/home.html

PRehders 21. Mär 2005 07:48

Re: Java - Project compilieren
 
Hallo,
da wird's langsam etwas verwürfelt...

"javac" (oder ein anderer Java-Compiler) compiliert(!) den Quellcode, und zwar in eine ausführbare Datei, aber eben nicht in eine .exe, sondern in Maschinencode für eine virtuelle Maschine (die VM).
Dieser Maschinencode wird dann normalerweise interpretiert (von der VM, die ein normales Programm des Wirtscomputers ist, also eine .exe bei Windows).
Um das Interpretieren etwas schneller zu machen, wird bei einigen Systemen der einmal interpretierte Code als Maschinencode der Wirtsmaschine zwischengespeichert, damits beim nächsten mal schneller geht. Das ist der Just-In-time-Compiler (JIT).
Wenn du nun ein Javaprogramm als exe haben möchtest, dann ginge das zwar mit Spezieltools, aber das bringt nicht viel; einerseits sind die VM schon ziemlich schnell, auf der anderen Seit wird ohnehin meist der JIT eingesetzt.
Und mehr kann ein solcher Java-nach-Exe-Compiler auch nicht tun, als den maschinencode erzeugen und ein riesiges Runtime-Modul dazulinken, den Java und die darunterliegenden Strukturen sind nunmal dynamisch und erst die Laufzeit zeigt, was überhaupt benötigt wird. Also muss quasi die VM dazugelinkt werden!

Bringt meiner Meinung nach nicht viel...

Bis dann

Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz