小编Jay*_*yan的帖子

如何在 Eclipse 中使用 GraalVM (SubstrateVM) 将 Java 编译为 Native

我有一个研究项目(在 Java 8 中实现),在 Eclipse 中包含几个类、几个主要函数和超过 10000 行代码。当输入不小时,程序就会内存不足。

我想看看如果编译为本机应用程序,它是否会使用更少的堆栈内存。

我没有找到在 Eclipse 中执行此操作的方法。

我做到了,
$GRAALVM_HOME/bin/javac /home/appu/Downloads/2019/June/20/HelloWorld.java
它有效。我得到了一个可以工作的二进制文件。

我尝试了
/home/appu/Downloads/Apps/GraalVM/2019-06-20/graalvm-ee-19.0.2/bin/native-image /home/appu/eclipse-nimi/NimishaGraalEE19/bin/nimi/decimate/Decimate.class
我得到Main entry point class '/home/appu/eclipse-nimi/NimishaGraalEE19/bin/nimi/decimate/Decimate.class' not found.

我尝试了
/home/appu/Downloads/Apps/GraalVM/2019-06-20/graalvm-ee-19.0.2/bin/native-image /home/appu/eclipse-nimi/NimishaGraalEE19/bin/*
我得到Main entry point class '/home/appu/eclipse-nimi/NimishaGraalEE19/bin/nimi' not found.

经典

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello, World!");
    }
}
Run Code Online (Sandbox Code Playgroud)

被编译成“HelloWorld.class”

它给出了一个可执行文件“helloworld”,它是可执行的(application/x-executable)。

我可以从 Eclipse 得到同样的东西吗?对于多类文件,我可以从命令行获得相同的结果吗?

当我将上面的代码更改为

public class HelloWorld
{
    public static void hello()
    {
        System.out.println("Hello, World!");
    }
}
Run Code Online (Sandbox Code Playgroud)

并添加另一个类

public class Main
{
    public static void …
Run Code Online (Sandbox Code Playgroud)

java eclipse graalvm substratevm

5
推荐指数
1
解决办法
3718
查看次数

标签 统计

eclipse ×1

graalvm ×1

java ×1

substratevm ×1