亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Eclipse 中使用 GraalVM (SubstrateVM) 將 Java 編譯成

如何在 Eclipse 中使用 GraalVM (SubstrateVM) 將 Java 編譯成

SMILET 2023-02-16 16:07:29
我有一個研究項目(在 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!");    }}被編譯成“HelloWorld.class”它給出了一個可執行的可執行文件“helloworld”(應用程序/x-可執行文件)。我可以從 Eclipse 獲得相同的嗎?對于多類文件,我可以從命令行獲得相同的內容嗎?當我將上面的代碼更改為public class HelloWorld{    public static void hello()    {        System.out.println("Hello, World!");    }}并添加另一個類public class Main{    public static void main(String[] args)    {        HelloWorld.hello();    }}我想要的是一個可執行文件(在我的例子中是一個 Gnu/Linux 可執行文件),它可以用作本機可執行文件。我更喜歡 Eclipse 的解決方案,但歡迎使用命令行、Netbeans、VS 代碼……或任何其他技術。
查看完整描述

1 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

文檔中的兩個選項(https://www.graalvm.org/docs/reference-manual/aot-compilation/):

1) 構建一個項目的 jar 并從中構建一個原生圖像

native-image [options] -jar jarfile為 jar 文件構建圖像。

2)正確設置原生鏡像classpath,給原生鏡像你想要的main

您可以為本機圖像構建提供額外的選項: -cp--class-path 幫助通過目錄、JAR 存檔和 ZIP 存檔的單獨列表搜索類文件;

native-image [options] class為當前工作目錄中的類構建可執行文件。調用它會執行該類的本機編譯代碼。


查看完整回答
反對 回復 2023-02-16
  • 1 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號