Möchten Sie eine Animations-DLL für Windows XP erstellen Ist es in Ordnung, Java2d-Animationen zu erstellen und als dll zu exportieren?Ist es möglich, Java zu verwenden, um dll zu erstellen?
Antwort
Ja erstellen. Sie müssen Code in C++ schreiben, um die JVM mit der Aufrufschnittstelle zu JNI zu starten und sie aufzurufen. Es kann jedoch schwierig sein, auf diese Weise Fenster zu erstellen, die sich nahtlos in Ihre Windows-Umgebung integrieren, um Ihre Animation anzuzeigen. Dies ist eine ziemlich fortgeschrittene JNI-Verwendung, und ich würde empfehlen, das JNI-Buch zu lesen, bevor Sie ein wenig davon ausprobieren.
Obwohl es technisch korrekt ist, ist es wirklich keine gute Idee, Java für den in der obigen Frage beschriebenen Job zu verwenden. –
Wahr. Es müsste einen ganz besonderen Grund geben. Einfach nur java2d gegen native einprogrammieren würde es nicht tun. – bmargulies
In meinem Fall könnte ich das versuchen, weil es nichts wie JavaFX gibt. Qt hat Code, viele Makros und so viele unnötige Dinge veraltet, während jede andere C++ ui-Bibliothek mit den gleichen Fähigkeiten im Grunde eine HTML-Layout-Engine ist, die den schrulligen HTML-Standard verwendet .... – Johannes
Ich bin ziemlich sicher, dass Sie nur .jar-Dateien von Java nicht dlls
Einer von uns beantwortet die Frage, die er stellen möchte, aber ich habe keine Ahnung, wer von uns :-) – bmargulies
Ich bin mir ziemlich sicher, dass Sie +1 für die Antwort :) – James
@bmargulies: +1 für Sie auch: P –
Ich bezweifle es, es sei denn, es gibt einige Drittanbieter-Tools da draußen. Für den Fall, dass Grafiken beteiligt sind, sind die Chancen noch geringer.
Ich stimme mit bmargulies überein. Es ist wahrscheinlich für einen Experten machbar, aber es wäre eine große DLL und du würdest Technologien mischen, die niemals zusammen arbeiten. Es macht keinen Sinn, dies meiner Meinung nach zu versuchen.
Nein, IIRC können Sie nicht. DLLs werden beim Laden direkt verlinkt. Java-Code benötigt ein jvm, so dass Sie nur eine DLL zur Verfügung stellen können, die eine jvm startet und Code dort startet, aber nicht alles passt in die DLL.
Sie sollten dies nicht tun. Es sieht so aus, als ob Sie versuchen, den falschen Ansatz für Ihr Problem zu verwenden.
Es gibt "Bridges", die Java und Nicht-Java-Code erlauben, sich gegenseitig aufzurufen. Je nachdem, was Sie erreichen möchten, können diese nützlich sein, da Sie Ihren Java-Code schreiben und dann von einer C++ - oder C# -DLL aufrufen können, abhängig davon, in welcher Sprache Sie Ihre DLL erstellen, was auch bestimmen wird Brücke, die du brauchst. Ich habe jedoch noch nie eine frei zur Verfügung gestellte Brücke gesehen. Alle, die ich beim Anschauen gefunden habe, mussten gekauft werden.
Well ...
- GCJ is available for Windows.
- GCJ ist Teil von GCC.
- GCC can create dlls.
Es könnte möglich sein, das zusammen zu bauen DLLs mit GCJ.
Aber GCJ produziert immer noch Klassen-Dateien richtig? Und das heißt, sie brauchen eine JVM –
nach http://www.autexier.de/jmau/dev/gcj.html gcj erzeugt immer noch Klassendateien –
Eigentlich sollte Quentin gesagt sollte funktionieren.
Wenn Sie Java mit GCJ
kompilieren, kompilieren Sie zuerst die .java
Dateien in plattformspezifische .o
(Objekt) Dateien. Vermutlich würden Sie die .o
Dateien in eine dll
anstatt einer exe
kompilieren. GCJ
enthält auch Komponenten wie die Garbage Collector- und Base-Java-Bibliotheken. Keine von denen erfordert eine JVM
zu laufen. Der Nachteil ist, dass die dll
wäre riesig. Eine einfache "Hello World" -App, wenn sie mit GCJ
kompiliert wird, ist ~35MB
, dank all den Standard-Bibliotheken und dem Garbage Collector. Ebenso wäre Ihr dll
riesig.
- 1. Ist es möglich, Google Pappe API zu verwenden, um native Android-Anwendung zu erstellen?
- 2. Ist es möglich, Java zum Abrufen der Assemblyversion (DLL) zu verwenden?
- 3. Ist es möglich, Inline-Vorlagen zu verwenden?
- 4. Ist es möglich, eine ListViewGroup zu erstellen
- 5. Ist es möglich, Twitter Bootstrap zu verwenden, um eine Magento-Site zu erstellen?
- 6. Ist es möglich, html <href> zu verwenden, um einen PDF-Downloadlink zu erstellen?
- 7. Ist es möglich, transparente Leinwand zu erstellen
- 8. Möglich, eine .dll unter Linux zu verwenden
- 9. Ist es möglich, Portable VM zu erstellen?
- 10. Ist es möglich, einen Vorlagenalias zu erstellen?
- 11. Ist es möglich JAXB zu verwenden, um vom Schema zu einer java.util.Map zu mappen?
- 12. Ist es möglich, Gradle zu verwenden, um Scala-Projekte zu entwickeln?
- 13. Ist es möglich, Reflexion mit LINQ zu Entität zu verwenden?
- 14. Es ist möglich, Pip zu tricksen, um Anakonda zu verwenden, wenn möglich?
- 15. Ist es möglich, .net dll aus Lua-Code zu laden?
- 16. Ist es möglich, in VB.NET eine gemeinsame Datenbankklasse zu erstellen?
- 17. Ist es möglich, ein Geräte-Hardwareprofil zu erstellen, um eine äquivalente AVD zu erstellen?
- 18. Ist es möglich, eine Linux-Box mit distcc zu erstellen, um meine XCode-Projekte zu erstellen?
- 19. Create DLL: Wie kann ich eine DLL verwenden, um eine neue DLL zu erstellen?
- 20. Ist es möglich, Win32 Hooks in Qt-Anwendungen zu verwenden
- 21. Ist es möglich, 3D-Objekte mit Java's Graphics zu erstellen?
- 22. Ist es möglich, GCC ohne Cygwin oder MinGW zu verwenden?
- 23. Ist es möglich, Code zu schreiben, um Code zu schreiben?
- 24. Ist es möglich, Hashcodes als Bitmaske zu verwenden, um Sammlungsmitgliedschaft effizient zu speichern/zu verfolgen?
- 25. Ist es möglich, einen bedingten Sprung zu verwenden, um in Mips zu $ ra zu springen?
- 26. Ist es möglich, Rstudio zu verwenden, um direkt von .Rmd zu LaTeX ohne Pandoc zu übersetzen?
- 27. Ist es möglich, SMS-Spiele mit PlayN zu erstellen?
- 28. Ist es möglich, mit Roslyn eine Portable-Klassenbibliothek zu erstellen?
- 29. Ist es möglich, Keyframes Animation zu Pseudo-Element zu verwenden?
- 30. Android: Ist es möglich, ein SurfaceTexture ohne SurfaceView zu erstellen?
Warum der Downvote? Ich denke, diese Frage ist ziemlich einfach. –
Ich würde raten, und ich betone, dass das DV von jemandem kam, der wünschte, dass die Frage spezifischer über höhere Ziele des OPs sei. Ich persönlich denke, dass in diesem Fall ein Kommentar ausgereicht hätte, aber der Geschmack variiert. – bmargulies