32位本地代码、JNA和64位JVM



我正在开发一个java应用程序,使用一个通过JNA访问的32位本地库。在MacOS X Snow Leopard上,可以将参数"-d32"传递给JVM,从而使JVM以32位模式启动。我有一个启动器应用程序,它设置一些环境变量,然后启动主应用程序。如果程序在MacOS上执行,那么这里也是决定使用-d32开关启动主应用程序的地方。

所以我的问题是:在Windows或Linux上有类似的方法来解决这个问题吗?

如果能够在32位模式下运行64位JVM,那将是最好的。但我并不害怕告诉我的用户安装一个额外的32位JVM,这不是问题所在。问题是,我必须告诉我的启动器应用程序在哪里可以找到32位JVM,因为PATH变量中的第一个可能是64位JVM。

提前感谢

a不稳定

如果将32位JVM与应用程序捆绑在一起,则它可以完全独立于任何已安装的JRE和系统路径运行。这是Java SE 6允许的:http://java.sun.com/javase/6/jdk-6u2-license.txt.您还可以通过加载JVM.dll来启动JVM,从而在任务管理器中只显示启动器映像。如果您使用WinRun4J,您甚至可以完全避免编写本机启动器:http://winrun4j.sourceforge.net/

希望能有所帮助!

最新更新