作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一个 java 应用程序,使用我通过 JNA 访问的 32 位 native 库。在 MacOS X Snow Leopard 上,可以将参数“-d32”传递给 JVM,这会导致 JVM 以 32 位模式启动。我有一个启动器应用程序,它设置一些环境变量然后启动主应用程序。如果程序在 MacOS 上执行,这也是决定使用 -d32 开关启动主应用程序的地方。
所以这是我的问题:是否有类似的方法可以在 Windows 或 Linux 上解决这个问题?
如果能在32位模式下运行64位的JVM就最好了。但我并不害怕告诉我的用户安装额外的 32 位 JVM,这不是问题所在。问题是,我必须告诉我的启动器应用程序在哪里可以找到 32 位 JVM,因为 PATH 变量中的第一个可能是 64 位 JVM。
提前致谢
不安
最佳答案
如果您将 32 位 JVM 与您的应用程序捆绑在一起,它可以完全独立于任何已安装的 JRE 和系统路径运行。这是 Java SE 6 允许的:http://java.sun.com/javase/6/jdk-6u2-license.txt .您还可以通过加载 jvm.dll 来启动 JVM,从而在任务管理器中仅显示您的启动器图像。如果您使用 WinRun4J,您甚至可以完全避免编写 native 启动器:http://winrun4j.sourceforge.net/
希望对您有所帮助!
关于java - 32 位 native 代码,IN A 和 64 位 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6169525/
我是一名优秀的程序员,十分优秀!