Toon posts:

[java] JIT en executables (win32)

Pagina: 1
Acties:
  • 110 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Daar gaan we nog maar eens met dit onderwerp. (Search al een hele tijd gebruikt, dus alsjeblieft geen verwijzigen naar http://gathering.tweakers.net/forum/find)
[topic=129852/1/25]
[topic=292624/1/25]
[topic=123365/1/25]
[topic=85712/1/25]

Ik wil (vraag me niet waarom en ik weet dat ik nu aan het vloeken ben) een executable genereren van mijn java-classes die kan runnen op een win32 omgeving.

Dit heb ik al op alle volgende manieren gepoogd te doen:

J2exe: Dit hadden ze net zo goed niet op de markt hoeven te brengen, want ik zie de meerwaarde van dit pakket niet, behalve dat het op een omslachtige manier een batch-file genereerd.

JET: In principe een aardige oplossing, maar volgens mij blijft het nog steeds een JIT-compiler (verbeter me a.u.b als ik het mis heb) en ik kan de versie die echte native code aanmaakt niet gebruiken aangezien ik mijn grafische user interface met Swing heb gemaakt.
Ik moet nu nog steeds een jre meenemen en een soort van JET runtime. Dit vind ik dus ook geen complete oplossing.

Microsoft J++: Lang leve de bagger zooi van Microsoft (op het JAVA gebied dan) Natuurlijk geen java2 ondersteuning en dergelijke. Nu bestaat er de optie om een release te maken en hierbij een win32 executable te genereren. Als ik alles eindelijk via het classpath van het project meegelinkt heb en een .exe heb gegenereerd gaat tie lopen zeuren over classes die die niet kan vinden en nullpointerexcepties. Was nou niet het hele idee dat ik geen java bytecode meer hoefde te gebruiken? Iemand ervaring met j++ in combinatie met java2 en externe jarfiles? (het genereren van een executable dan)

Dan is er ook nog visual cafe die ik echter nog niet gebruikt heb. Ik kan een evaluation version downloaden natuurlijk, maar dan heb ik nog steeds alleen maar de beschikking over de JIT-compiler. Dan klopt het toch dat ik nog steeds iets van een Virtual Machine nodig heb?
Dit zou ik op kunnen lossen volgens mij door een expert of een enterprise edition waar wel een echte native compiler in zit. Heeft iemand hier ervaring met deze native compiler en weet iemand ook of deze compiler goed werkt met java2 en eigen aangemaakte jar files?

Verders ben ik van mening dat JAVA een hele goede programmeertaal is, maar dat het dus een groot minpunt is dat er moeilijk native code mee te creeeren is. Ik weet dat het juist 1 van de voordelen van JAVA is dat je zo platform onafhankelijk mogelijk bent, maar een heleboel mensen willen volgens mij juist de voordelen van JAVA en C++ allebei: de mogelijkheid om je bytecode m.b.v. een virtual machine te runnen en de mogelijkheid om een native applicatie ervan te maken.

Ik hoop dat ik hiermee op niemand z'n tenen ben gaan staan. Zoja, dat was dan absoluut niet mijn bedoeling.

Groeten,

Tim

Verwijderd

[quote
JET: In principe een aardige oplossing, maar volgens mij blijft het nog steeds een JIT-compiler (verbeter me a.u.b als ik het mis heb)[/quote]

Nee Tim, een JIT is niet hetzelfde als een JET. JET is de naam van een product en waar dat voor staat weet ik ook niet :? maar JIT staat echt voor Just-In-Time. Een JIT compiler is dan ook een compiler die de code rechtstreeks en ook sneller compileert zodat java code sneller uitgevoerd kan worden. Heeft dus nix met JET te maken :)

Verwijderd

Topicstarter
Ik snap dat JET een product is. Heb het ook geinstalleerd staan. maar ik bedoel te zeggen dat volgens mij de werking van het programma als een JIT compiler is, aangezien ik nog steeds een JRE mee moet leveren

Verwijderd

Ook niet helemaal correct :( Wat JET doet is gewoon een dom programma schrijven dat de JIT in de JRE aanroept om vervolgens de zaak uit te voeren.

  • Baron
  • Registratie: Juli 2000
  • Laatst online: 21-06 17:02
Ik begrijp perfect wat je bedoeld. Ik wil een bestaande C++ app. volledig opnieuw schrijven in Java om platform onafhankelijk te zijn (te draaien op AS/400).
Ik wil er een .exe van maken om ze zonder installatie van VM te kunnen draaien op Windows.

Volgens mij is een native compiler een gat in de markt.

Verwijderd

Tsja... voor zover ik weet is er geen oplossing die Java code naar _ECHTE_ Native code compileert. Alle tools die ik heb gevonden (jexegen van Microsoft, JET enz.) maakten alleen maar een programma dat toch de VM nodig had :) En ja, een echte compiler is een gat in de markt :+ Misschien hebben ze er al een op www.jars.com. Dat is een grote lijst met genomineerde java-tools en apps, dus daar zou ik zeker kijken. Veel suc6 en laat het mij ook ff weten als jee r een hebt gevonden (misterdata_00@hotmail.com of tommy@vandervorst-bs.nl)

  • Baron
  • Registratie: Juli 2000
  • Laatst online: 21-06 17:02
Bestaat er geen Java naar C++ translator?

Verwijderd

Topicstarter
Op woensdag 24 oktober 2001 16:03 schreef MisterJava het volgende:
Ook niet helemaal correct :( Wat JET doet is gewoon een dom programma schrijven dat de JIT in de JRE aanroept om vervolgens de zaak uit te voeren.
Okee, nu snap ik dat :-)
Neemt niet weg dat het nog steeds niet de oplossing is, maar het probleem verleggen

Verwijderd

Topicstarter
Op woensdag 24 oktober 2001 16:09 schreef Baron het volgende:
Bestaat er geen Java naar C++ translator?
Als die zou bestaan mag dat meteen ook aan mij medegedeeld worden. Scheelt me een heleboel werk. Zit er nu namelijk aan te denken om toch de applicatie maar weer 'terug' te schrijven in c++, puur om het programma goed te kunnen distribueren, zonder JRE's en dergelijke mee te hoeven leveren.

Verwijderd

Op woensdag 24 oktober 2001 schreef Yarvieh in een compleet ander draadje het volgende:

Manta is a native Java compiler. It compiles Java source codes to x86 executables. Its goals are to beat the performance of all current Java implementations. Currently it already contains a highly efficient RMI implementation (source code compatible with std. RMI). It is currently about 30 times faster than standard implementations. Class libraries are taken from kaffe, classpath and partly homebrew.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ik heb enkele native compilers geprobeerd, maar allemaal hebben ze grote problemen. Over het algemeen kunnen ze geen GUIs aan (hoe bedoel je niet generiek opgelost |:( ) en verder hebben ze stuk voor stuk grote moeilijkheden met de interessante Java features zoals dynamic-class loading en reflectie (newInstance, voor laden van plugins bijvoorbeeld).

Een goede oplossing is er in mijn ogen dus niet. Voor serieus Java werk is een recente JRE gewoon absoluut noodzakelijk.

Wel kan je erg veel aan het verbeteren van het executie proces. Meestal zit daar namelijk het punt. Denk bijvoorbeeld eens aan Java Webstart of executable jars met ingebouwde classpath. Als je je applicatie goed opzet kan je het op een vrij prettige manier distribueren. Het probleem van de JRE valt dan over het algemeen wel weer mee.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Op woensdag 24 oktober 2001 16:14 schreef Yarvieh het volgende:
Manta is a native Java compiler. It compiles Java source codes to x86 executables. Its goals are to beat the performance of all current Java implementations. Currently it already contains a highly efficient RMI implementation (source code compatible with std. RMI). It is currently about 30 times faster than standard implementations. Class libraries are taken from kaffe, classpath and partly homebrew.
Okee, nu komen we ergens...alleen is dit volgens mij alleen maar native code genereren op unix opgevingen, niet win32

Maar het is een begin!!!! :)

Verwijderd

Op woensdag 24 oktober 2001 16:19 schreef mr.beidehand het volgende:
Okee, nu komen we ergens...alleen is dit volgens mij alleen maar native code genereren op unix opgevingen, niet win32
Zover had ik 'm nog niet beken, t was een cut 'n paste actie vanaf de iecc compiler development mailing list waar 't toevallig vanmorgen opstond ;)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
[Manta]Currently it already contains a highly efficient RMI implementation (source code compatible with std. RMI).
Eerlijk gezegd zie ik weinig kansen voor native compilers waarbij het noodzakelijk is om Sun bibliotheken te porten. Het is onmogelijk om die voortdurend compatible te houden. Bovendien biedt het weinig uitbreidingsmogelijkheden...

Bij J# schijnt trouwens een class-file converter te zitten naar .NET IL. Ik weet uiteraard niet hoe goed dat ding is, maar als hij ook met native delen en recentie class-file formanten kan omgaan zou je in theorie heel de JRE naar IL om kunnen zetten. Helaas zal dit ook nooit goed gaan werken omdat je met teveel Java Platform specifieke situaties te maken hebt. Ik denk dat dus ook deze class-file converter enorme beperkingen heeft en geen generieke oplossing is.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • im_ik
  • Registratie: November 2000
  • Laatst online: 28-12-2025

im_ik

dat ben ik dus

Op woensdag 24 oktober 2001 16:09 schreef Baron het volgende:
Bestaat er geen Java naar C++ translator?
java to C
c to java
homepage van maker JCC
java 2 C
jikes = high performace java comp van ibm
GJC java 2 native

meschien dat hier iets tussen zit..deze had ik nog niet voorbij zien komen

Atari Terminator AI - LegoBlockX3 = ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.T008ᖟ


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Jet die maakt wel native code! Je moet alleen een Jet Runtime environment bijleveren. En dat gaat alleen makkelijk als je hem koopt, anders heb je er niet veel aan.

Maar wat is er mis met een java jre bijleveren? Voor veel applicaties heb je tegenwoordig een plugin nodig, bv Flash. Waarom niet met java? En op een cdtje past ie met gemak hoor :)

En je hebt hele aardige java installers die die jre in zich meelinken. Dan ziet de gebruiker (geloof ik) niet eens dat die ook geinstalleerd wordt.

Verwijderd

Topicstarter
java to C
homepage van maker JCC

Volgens mij een beetje zwaar verouderd. Maakt gebruik van de JDK 1.0.2 en heeft het over het apart bijsluiten van garbage collection.

java 2 C

mhhmmm...zelfde idee eigenlijk. Zit geen support meer achter er werkt met een zwaar verouderde JDK.

jikes = high performace java comp van ibm

In principe helemaal niks aan, aangezien deze compiler nog steeds alleen maar bytecode genereerd voor een virtual machine (of ik heb het verkeerd begrepen) -> Jikes is a compiler that translates Java source files as defined in The Java Language Specification into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification.

GJC java 2 native

volgens mij niet geschikt om win32 applicaties mee te genereren


Ik heb inmiddels een evaluatie versie van WebGain Studio 4.5 aangevraagd. Hier zou ook een native compiler in moeten zitten, maar ik vraag me af in hoeverre dit werkt -> (Native JDK1.1 and Java2 x86 compiler with support for dynamically loaded classes). Mocht het pakket binnen zijn en ik heb er goede resultaten mee, dan laat ik het jullie natuurlijk even weten.
Pagina: 1