Хотите создать анимационную dll для Window XP Можно ли создавать анимацию Java2d и экспортировать как DLL?
Можно ли использовать Java для создания dll?
Ответ 1
Да. Вам нужно написать код на С++, чтобы запустить JVM с интерфейсом вызова JNI и вызвать его. Однако вам может быть сложно создать окна таким образом, чтобы легко интегрировать приложение среды Windows для отображения вашей анимации. Это довольно продвинутое использование JNI, и я бы рекомендовал прочитать JNI-книгу, прежде чем даже попробовать ее немного.
Ответ 2
Я так сомневаюсь, если там нет сторонних инструментов. Для вашего случая, когда графика задействована, шансы еще ниже.
Ответ 3
Нет, IIRC вы не можете. DLL связаны непосредственно при загрузке. Java-код нуждается в jvm, поэтому вы можете предоставить только DLL, которая запускает jvm и запускает там код, но не все обязательно вписываются в dll.
Вы не должны этого делать. Похоже, вы пытаетесь использовать неправильный подход для своей проблемы.
Ответ 4
Я уверен, что вы можете создавать только файлы .Jar из java и dll
Ответ 5
Есть "мосты", которые позволяют Java и не-Java-код звонить друг другу. В зависимости от того, что вы пытаетесь выполнить, они могут быть полезны, поскольку вы могли бы написать свой Java-код, а затем вызвать его из С++ или С# DLL, в зависимости от того, на каком языке вы создаете свою DLL, что также определит, мост вам нужно. Однако я никогда не видел свободно предоставленного моста. Все, что я нашел при поиске, нужно было купить.
Ответ 6
Собственно, то, что сказал Квентин, должно работать.
Когда вы скомпилируете java для native с помощью GCJ
, вы сначала скомпилируете файлы .java
в специфические для платформы файлы .o
(object). Предположительно, вы скомпилируете файлы .o
в dll
, а не в exe
. GCJ
также включает такие компоненты, как сборщик мусора, и базовые java-библиотеки. Ни один из них не требует выполнения JVM
. Самое меньшее, что dll
будет огромным. Простым приложением" Hello World" при компиляции с GCJ
является ~35MB
, благодаря всем файлам по умолчанию и сборщику мусора. Аналогично ваш dll
будет огромным.
Ответ 7
Я согласен с bmargulies. Вероятно, это возможно для эксперта, но это была бы большая DLL, и вы бы смешивали технологии, которые никогда не были созданы для совместной работы. На мой взгляд, не имеет смысла попробовать это.
Ответ 8
Ну...
- GCJ доступен для Windows.
- GCJ является частью GCC.
- GCC может создавать dll.
Возможно, это можно объединить для создания библиотек DLL с использованием GCJ.