Java: nativní kód

Petr Bolf

Java: nativní kód
« kdy: 14. 03. 2014, 07:53:27 »
zdravím,

mám kód v javě a potřebuji ho použít v C++.

Napadlo mne použít gcj a zkompilovat javovské zdrojáky do nativního kódu. Narazil jsem na to, že gcj zdá se podporuje JDK 1.5 a verzi JDK 1.7 nerozumí.

Je ještě nějaké (stále udržované a vyvíjené) řešení jak kompilovat javu do C++?

(Ano je komerční excelsior JET, to jsem stáhl demo verzi a nejde spustit, jdu zjišťovat proč.)

Neznáte něco dalšího, nebo zda lze nastavit v gcj JDK verzi 1.7?

Díky moc


Jakub Galgonek

Re:Java: nativní kód
« Odpověď #1 kdy: 14. 03. 2014, 08:16:04 »
Je ještě nějaké (stále udržované a vyvíjené) řešení jak kompilovat javu do C++?

A co jiné řešení, nešlo by použít? Třeba spustit tu Java část jako server a použít nějaké to RPC? Asi by také šlo použít Java Native Interface - Java zavolá tvůj C++ kód a ten pak už bude moci bez problémů volat Javu.

perceptron

Re:Java: nativní kód
« Odpověď #2 kdy: 14. 03. 2014, 10:32:48 »
Java Native Interface (jni)

http://www.codeproject.com/Articles/22881/How-to-Call-Java-Functions-from-C-Using-JNI

alternativne: mozete si otvorit sockety a rubat data cez ne.

Jakub Galgonek

Re:Java: nativní kód
« Odpověď #3 kdy: 14. 03. 2014, 10:35:13 »
alternativne: mozete si otvorit sockety a rubat data cez ne.

Anebo můžeš použít na straně javy RMI a na straně C++ ho volat pomocví CORBA.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Java: nativní kód
« Odpověď #4 kdy: 14. 03. 2014, 13:00:31 »
Java Native Interface (jni)

http://www.codeproject.com/Articles/22881/How-to-Call-Java-Functions-from-C-Using-JNI

alternativne: mozete si otvorit sockety a rubat data cez ne.

JNA - Java Native Access má jednodušší rozhraní, než JNI. Pokud se lze JNI vyhnout, vyhnul bych se.


perceptron

Re:Java: nativní kód
« Odpověď #5 kdy: 14. 03. 2014, 13:40:04 »
jna funguje aj naopak? ze z c/c++ mozno volat java metody?