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

发布于 2024-11-10 12:09:22 字数 402 浏览 2 评论 0原文

我正在开发一个 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。

提前致谢,

焦躁不安

I'm developing a java application, using a 32Bit native library which I'm accessing via JNA. On MacOS X Snow Leopard it's possible to pass the parameter "-d32" to the JVM, which causes the JVM to start in 32Bit mode. I've got a launcher application, which sets some environment variables and then starts the main application. This is also the place where it is decided to launch the main application with the -d32 switch, if the program is executed on MacOS.

So here's my question: Is there a similar way to solve this on Windows or Linux?

It would be the best if it was possible to run the 64Bit JVM in 32Bit mode. But I'm not really afraid to tell my users to install an additional 32Bit JVM, that's not the problem. The problem is, that I would have to tell my launcher application where the 32Bit JVM can be found, as the first one in the PATH variable could be the 64Bit one.

Thanks in advance,

aRestless

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦幻的味道 2024-11-17 12:09:22

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

希望有帮助!

If you bundle the 32-bit JVM with your application, it can run fully independent of any installed JRE and system path. This is allowed by Java SE 6: http://java.sun.com/javase/6/jdk-6u2-license.txt. You can also start JVM by loading jvm.dll, thus showing only your launcher image in task manager. You can even avoid writing a native launcher at all if you use WinRun4J: http://winrun4j.sourceforge.net/

Hope that helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文