Хотите создать анимационную dll для Window XP Можно ли создавать анимацию Java2d и экспортировать как DLL?Можно ли использовать Java для создания dll?
ответ
Да. Вам нужно написать код на C++, чтобы запустить JVM с интерфейсом вызова JNI и вызвать его. Однако вам может быть сложно создать окна таким образом, чтобы легко интегрировать приложение среды Windows для отображения вашей анимации. Это довольно продвинутое использование JNI, и я бы рекомендовал прочитать книгу JNI, прежде чем даже попробовать ее немного.
Хотя технически правильно, на самом деле не очень хорошая идея (мягко говоря) использовать Java для задания, описанного в вопросе выше. –
Правда. Должна быть особая причина. Просто предпочтение от кода в java2d и native не сделало бы этого. – bmargulies
В моем случае я мог бы попробовать это, потому что ничего подобного JavaFX нет. Qt имеет устаревший код, много макросов и так много ненужных вещей, в то время как каждая другая библиотека C++ ui с одинаковыми возможностями - это в основном механизм компоновки HTML, который использует сложный стандарт HTML ... – Johannes
Я уверен, что вы можете создать только .jar файлы Java не DLLs
Один из нас отвечает на вопрос, который он хочет спросить, но я понятия не имею, кто из нас :-) – bmargulies
Я уверен, что он вам +1 за ответ :) – James
@bmargulies: +1 для вас тоже: P –
Я сомневаюсь, что, если есть какие-то сторонние инструменты. Для вашего случая, когда графика задействована, шансы еще ниже.
Я согласен с bmargulies. Вероятно, это возможно для эксперта, но это будет большая DLL, и вы будете смешивать технологии, которые никогда не были созданы для совместной работы. На мой взгляд, не имеет смысла попробовать это.
Нет, IIRC вы не можете. DLL связаны непосредственно при загрузке. Java-код нуждается в jvm, поэтому вы можете предоставить только DLL, которая запускает jvm и запускает там код, но не все обязательно вписываются в dll.
Вы не должны этого делать. Похоже, вы пытаетесь использовать неправильный подход к своей проблеме.
Есть «мосты», которые позволяют Java и не-Java-код звонить друг другу. В зависимости от того, что вы пытаетесь выполнить, они могут быть полезны, поскольку вы могли бы написать свой Java-код, а затем вызвать его из C++ или C# DLL, в зависимости от того, на каком языке вы создаете свою DLL, что также определит, мост вам нужно. Однако я никогда не видел свободно предоставленного моста. Все, что я нашел при поиске, нужно было купить.
Ну ...
- GCJ is available for Windows.
- GCJ является частью GCC.
- GCC can create dlls.
Возможно, это можно объединить для создания библиотек DLL с использованием GCJ.
Но GCJ все еще выпускает файлы классов? И это означает, что им нужен JVM –
согласно http://www.autexier.de/jmau/dev/gcj.html gcj все еще создает файлы классов –
Собственно, то, что сказал Квентин, должно работать.
При компиляции java на native с GCJ
вы сначала скомпилируете файлы .java
в специфические для платформы файлы .o
(object). Предположительно, вы должны скомпилировать файлы .o
в dll
, а не exe
. GCJ
также включает такие компоненты, как сборщик мусора и базовые библиотеки java. Ни один из них не требует запускать JVM
. Сложность в том, что dll
будет огромным. Простое приложение «Hello World» при компиляции с GCJ
- ~35MB
, благодаря всем личным папкам по умолчанию и сборщику мусора. Аналогично, ваш dll
будет огромным.
- 1. Можно ли использовать java для создания виджетов blogger?
- 2. Можно ли использовать возвышенный текст для создания сложного Java-приложения?
- 3. Можно ли использовать макрос для создания typedefs?
- 4. Можно использовать GCJ для создания библиотеки, вызываемой из Python?
- 5. Можно ли использовать Jambi для создания полноценных GUI-интерфейсов?
- 6. Можно ли использовать Python для создания плагинов для программ?
- 7. Можно ли использовать std :: unique_ptr для управления ресурсом DLL?
- 8. Можно ли использовать файл Mono.Data.Sqlite.dll с sqlite3.dll для WinRT?
- 9. Можно ли использовать DLL для основной логики вашего приложения .NET?
- 10. Можно ли использовать Singleton Class внутри DLL для разных процессов?
- 11. Можно ли использовать ArrayAdapter и ListView для создания фрагментов?
- 12. Можно использовать итерацию для создания строки в Java?
- 13. Можно ли использовать скрипт для создания таблицы в flywaydb?
- 14. Как OpenFL можно использовать для создания «библиотеки»?
- 15. Можно ли использовать CSharpRepl Mono для создания методов и классов?
- 16. Можно ли использовать $ compile в Angular для создания экспортируемого элемента?
- 17. Можно ли использовать exec() для создания экземпляра класса в python?
- 18. Можно ли использовать Log4perl для создания файлов журнала пользователя?
- 19. Можно ли использовать Monotouch.Dialog для создания пользовательского списка?
- 20. Можно ли использовать один тег строки для создания нескольких строк?
- 21. Можно ли использовать Dreamweaver для создания машинописных записей?
- 22. Есть ли крючок, который можно использовать для создания статьи MediaWiki?
- 23. Можно ли использовать отчеты Jasper для создания отчетов из LDAP
- 24. Можно ли использовать SSI и Apache для создания cms?
- 25. Можно ли использовать метод MethodInvokingFactoryBean для создания макета?
- 26. Можно ли использовать TFS SDK для создания, очереди и дорожек?
- 27. Можно ли использовать API-интерфейс DeliveryConfirmationv4 для создания международных ярлыков?
- 28. Можно ли использовать макрос scala для создания типов?
- 29. Можно ли использовать шаблон django для создания шаблонов django?
- 30. Можно ли использовать haxe для создания собственного приложения mac?
Почему downvote? Я думаю, что этот вопрос довольно прост. –
Я бы предположил, и я подчеркиваю, что dv пришло от кого-то, желающего, чтобы вопрос был более конкретным относительно целей более высокого уровня OP. Лично я считаю, что в этом случае комментариев хватило бы, но вкусы различаются. – bmargulies