处理草图-为什么同时创建32位和64位?

时间:2018-11-27 02:15:15

标签: java compilation processing

我最近一直在尝试处理(https://processing.org/)。

这是一种IDE,用于简化Java中的GUI设计。由于我不喜欢Swing或AWT,因此使用起来很有趣。

虽然有些有趣的事情。当我“导出” Windows应用程序时,它会同时创建32位和64位版本。

我有点困惑,因为我认为Java源代码被编译为Java字节码后,它可以在任何地方运行,只要是JVM。 (写一次,在任何地方运行)。

那么为什么要同时创建32位和64位版本的应用程序?字节码不应该独立于平台而仅在运行时使用即时编译编译为JVM所采用的哪种体系结构吗?至少,我知道.NET是使用CLR做到的。

我要尝试回答我自己的问题,因为创建的应用程序是.exe文件,所以已经将对本机体系结构的转换已经发生,因为将Windows指定为目标平台...我想可以提高效率?

否则,我很困惑。我唯一一次看到编译发生两次是在对C ++进行编程时,并且需要针对32位和64位进行两次编译。

谢谢!

1 个答案:

答案 0 :(得分:1)

处理过程建立在JOGL之上,OpenGL(基本上是{{3}}的Java包装器)是设备特定的图形库。

此外,Processing(可以)包括整个JVM及其导出的应用程序,因此最终用户不必担心下载Java。 JVM本身与操作系统有关,因此导出的应用程序也是如此。

您可以通过查看Processing创建的文件来确认这一点。具体来说,请注意以下文件:

  • jogl-rt-natives-windows-amd64.jar
  • jogl-all-natives-windows-amd64.jar

这些.jar文件包含JOGL所需的本机文件。