32-битный собственный код, JNA и 64-битная JVM - PullRequest
8 голосов
/ 29 мая 2011

Я занимаюсь разработкой Java-приложения, использующего 32-битную нативную библиотеку, доступ к которой осуществляется через JNA.В MacOS X Snow Leopard возможно передать параметр «-d32» в JVM, что заставляет JVM запускаться в 32-битном режиме.У меня есть приложение запуска, которое устанавливает некоторые переменные окружения, а затем запускает основное приложение.Это также место, где решено запустить основное приложение с ключом -d32, если программа выполняется на MacOS.

Итак, вот мой вопрос: существует ли аналогичный способ решения этой проблемы в Windows илиLinux?

Было бы лучше, если бы можно было запустить 64-битную JVM в 32-битном режиме.Но я не очень боюсь сказать своим пользователям установить дополнительную 32-битную JVM, это не проблема.Проблема в том, что мне нужно было бы сообщить моему приложению-носителю, где находится 32-битная JVM, поскольку первая переменная в переменной PATH может быть 64-битной.* aRestless

1 Ответ

4 голосов
/ 04 июня 2011

Если вы связываете 32-битную JVM с вашим приложением, оно может работать полностью независимо от установленного JRE и системного пути.Это разрешено Java SE 6: http://java.sun.com/javase/6/jdk-6u2-license.txt. Вы также можете запустить JVM, загрузив jvm.dll, таким образом, показывая только ваш образ запуска в диспетчере задач.Вы даже можете вообще избежать написания родного лаунчера, если используете WinRun4J: http://winrun4j.sourceforge.net/

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...