【问题标题】:Which Java native compilers can be recommended? [closed]可以推荐哪些 Java 原生编译器? [关闭]
【发布时间】:2011-07-19 11:51:12
【问题描述】:

我想知道可以推荐哪些 Java 原生编译器来将 Java 代码编译为 Windows 和 Mac OS X 二进制文件。

也许有人知道使用了哪些编译器来创建 Eclipse 二进制文件。这些不应该是一个错误的选择。

【问题讨论】:

  • eclipse 二进制文件不是本地编译的 Java;它们是使用 JNI 启动普通 Java 程序的本机程序。
  • 您希望通过这样的预编译达到什么目标?
  • JVM 可以为您即时将字节码编译为本机代码。有一些技巧可以强制它编译。你想解决什么问题?
  • 除了下面提到的原因之外,我还认为独立于已安装的 JRE 可能是有利的。
  • 您可以在您的应用程序旁边安装私有 JRE。有一些工具可以将它们打包在一起或按需下载 JRE。除非您需要代码保护和/或原生的其他潜在好处(更快的启动、更小的内存/磁盘占用、更好的性能 - 其中任何一个都可能也可能不适用于您的特定应用程序),本机编译是一种矫枉过正。

标签: java compiler-construction native-code


【解决方案1】:

See here...但总而言之,没有我真正推荐的好的解决方案。

【讨论】:

  • 据我所知,本机编译的 Java 的性能并不比在 VM 中运行的 Java 好,但本机编译的 Java 启动速度要快一些。然而,主要原因是预期一致性形式的可用性,因为大多数人都在寻找带有图标的 exe 或应用程序来启动应用程序,但也许最好只使用二进制文件来启动应用程序,然后让程序在虚拟机中运行。
  • 主要原因是Java反编译器无法处理原生编译的Java。为了可用性,有十几种解决方案可以捆绑或下载 JRE 并将其安装在您的应用程序目录中。
  • 啊哈,使用 Java 原生编译器的唯一原因是代码保护?
  • 我有使用 Excelsior 的 JET 编译器的经验,当涉及到本地编译复杂的应用程序时,它目前似乎是唯一可行的选择。优点:使反编译代码变得困难,启动时间稍好。缺点:成本(对于商业应用程序),您的构建过程将变得更加复杂。
  • 谢谢。这是一个非常切实可行的答案。
【解决方案2】:

Eclipse 用作用户界面SWT,它使用本机平台用户界面:

在 Windows 上看起来像 Windows,在 Mac 上看起来像 Mac,等等。 它适用于最流行的平台,搜索 SWT 了解更多信息。

所以这可能是您在使用 eclipse 时所看到的,或者更多的感受。
它不仅是 exe 扩展。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-04
    • 2010-09-06
    • 2012-03-17
    • 2014-10-11
    • 2017-09-18
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多