32Bit Native Code, JNA und eine 64Bit JVM

8

Ich entwickle eine Java-Anwendung mit einer nativen 32Bit-Bibliothek, auf die ich über JNA zugreife. Unter MacOS X Snow Leopard ist es möglich, den Parameter "-d32" an die JVM zu übergeben, wodurch die JVM im 32Bit-Modus gestartet wird. Ich habe eine Launcher-Anwendung, die einige Umgebungsvariablen setzt und dann die Hauptanwendung startet. Dies ist auch der Ort, an dem entschieden wird, die Hauptanwendung mit der Option -d32 zu starten, wenn das Programm auf MacOS ausgeführt wird.

Hier ist meine Frage: Gibt es einen ähnlichen Weg, um dies unter Windows oder Linux zu lösen?

Es wäre das Beste, wenn es möglich wäre, die 64Bit JVM im 32Bit-Modus auszuführen. Aber ich habe nicht wirklich Angst, meinen Benutzern zu sagen, dass sie eine zusätzliche 32Bit JVM installieren sollen, das ist nicht das Problem. Das Problem ist, dass ich meiner Launcher-Anwendung sagen müsste, wo die 32Bit-JVM gefunden werden kann, da die erste in der PATH-Variable die 64Bit-Variable sein könnte.

Vielen Dank im Voraus,

aRestless

    
aRestless 29.05.2011, 18:17
quelle

1 Antwort

4

Wenn Sie die 32-Bit-JVM mit Ihrer Anwendung bündeln, kann sie vollständig unabhängig von allen installierten JRE- und Systempfaden ausgeführt werden. Dies ist in Java SE 6 erlaubt: Ссылка . Sie können JVM auch starten, indem Sie jvm.dll laden. Dadurch wird nur Ihr Launcher-Image im Task-Manager angezeigt. Sie können es sogar vermeiden, einen nativen Launcher zu schreiben, wenn Sie WinRun4J verwenden: Ссылка

Hoffe das hilft!

    
fernacolo 04.06.2011 01:58
quelle

Tags und Links