操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    近日,荷蘭開發(fā)者 Remy van Elst 通過自己的博客控訴了 snap 自動更新所帶來的問題,并決定刪除 snap,同時選擇放棄 Ubuntu。

    升級到 Ubuntu 20.04 版本后,Remy 通過 snap 安裝了 CLion,因為與手動下載安裝相比,這樣顯然更方便。但就在上個周末,他發(fā)現(xiàn) CLion 自動更新了。實際上,當他注意到更新時,該程序進程已由于更新導致的錯誤而終止。

    在自動更新過程中,幾個關(guān)鍵的插件被破壞。Remy 表示,不僅僅是截圖中的插件出了問題,用于交叉編譯到 ARM 的插件也成了主要問題。

    對他來說,更糟糕的是 Ubuntu 無法禁用 snap 更新,這一點 “甚至比 Windows 還差”。三年前就曾有用戶在 snap 官方論壇中提出這個問題,下面的討論一直持續(xù)到今年六月底,但 snap 官方人員始終沒有給出解決方案。

    有網(wǎng)友將這篇博客文章貼到了 reddit 和 Hacker news 等論壇上,不少人提出可通過 snap revert clion 回滾到先前的版本,但在 Remy 看來,這種治標不治本的行為是沒有意義的。他認為,用戶對軟件包的掌控權(quán)更重要。

    最后,Remy 選擇了終極式解決方式:完全刪除 snap。他提到自己之后可能會安裝 Linux Mint,而非 Ubuntu,因為 Linux Mint 前不久禁用了 snap,并允許用戶配置更新。

    題外話

    最近在閱讀《深入理解Java虛擬機》,其中有一小節(jié)實戰(zhàn)是自己編譯JDK,實際操作下來后遇到問題不少,為此特地記錄,也希望可以給大家?guī)硪恍﹨⒖迹?/span>

    前置準備

    平臺及工具: Windows 10 + WSL(ubuntu 20.04) + CLion(2021.2.2)

    OpenJDK12下載地址: https://hg.openjdk.java.net/jdk/jdk12/

    • 下載安裝解壓即可

    編譯工具版本推薦:

    • GCC 7.4及以上# Ubuntu上安裝GCC命令,該命令默認安裝9.3版本(2021年) sudo apt-get install build-essential

    編譯依賴庫:

    工具

    庫名稱

    安裝命令

    FreeType

    The FreeType Project

    sudo apt-get install libfreetype6-dev

    CUPS

    Common UNIX Printing System

    sudo apt-get install libcups2-dev

    X11

    X Window System

    sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev

    ALSA

    Advanced Linux Sound Architecture

    sudo apt-get install libasound2-dev

    libffi

    Portable Foreign Function Interface Library

    sudo apt-get install libffi-dev

    Autoconf

    Extensible Package of M4 Macros

    sudo apt-get install autoconf

    Bootstrap JDK 準備:

    • OpenJDK11sudo apt-get install openjdk-11-jdk

    開始編譯

    編譯FastDebug版,僅含Server模式的HotSpot虛擬機命令:

    bash configure --enable-debug --with-jvm-variants=server
    
    # 嫌寫那么多麻煩,直接用下面這個:point_down:,不過這個是生成release版本的,不利于debug
    bash configure

    configure命令會進行依賴項檢查,參數(shù)配置和構(gòu)建輸出目錄結(jié)構(gòu)等操作,所以依賴缺失會得到明確提示:

    ZIP安裝命令:

    sudo apt-get install zip

    繼續(xù)檢查...繼續(xù)安裝缺失的依賴...

    成功界面:

    依賴檢查通過后,執(zhí)行 make images 命令執(zhí)行整個OpenJDK的編譯,作用是編譯出整個JDK鏡像

    不出所料,編譯報錯:

    充分利用了搜索引擎,以及認真閱讀了 building.md 文件后,發(fā)現(xiàn)應該是gcc的版本問題,默認安裝的是9,但實際需要的是7,于是把9給卸載了,重新安裝了個7

    # 卸載命令
    sudo apt-get remove gcc-9
    # 安裝7
    sudo apt-get install gcc-7
    sudo apt-get install g++-7
    
    # 如果上述命令安裝后,gcc --version能查出版本而不會報錯,就無需使用以下命令
    # 或者已有7和9兩個版本,但默認用的是9,也可用以下命令修改為7
    
    # 設置默認選項
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
    sudo update-alternatives --config gcc
    
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
    sudo update-alternatives --config g++

    萬事俱備只欠東風。先 make dist-clean 清理一波編譯生成的臨時文件,接著一波流:

    bash configure --enable-debug --with-jvm-variants=server
    make images

    漫長的等待后...沒有報錯!!!

    測試一波:

    ./build/*/images/jdk/bin/java -version

    編譯成功:

    目錄結(jié)構(gòu):

    在IDE工具上調(diào)試

    導入JDK源碼文件,open file 選擇 MakeFile ,有彈窗清除 clean ,然后一直確認即可

    等待導入......

    接著會發(fā)現(xiàn)幫你生成了一堆的 targets ,將根目錄Mark Directory as 一下

    然后選 all 即可,打開編輯,Executable選擇編譯出來的 java 命令,Before launch移除 Build

    具體設置各項參數(shù)如圖:

    找到 java.c 文件,打個斷點,直接 Debug 啟動(開始你的表演):

    配置 -version 只是測試一下是不是真的能夠調(diào)試了而已,如果想要調(diào)試某個Java類呢

    IDEA配合Clion遠程調(diào)試

    IDEA配置

    • 添加Configuration,選擇Remote JVM Debug即可:

    Clion配置

    • 添加Configuration,選擇Custom Build Configuration
    • Target 需要添加一下,make編譯配置make clean配置
    • Executable依然選擇編譯出來的Java命令
    • Program arguments填寫:-jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5008 xxx.jar
    • Working directory選擇:上述jar包生成位置

    最終配置如圖:

    參考資料

    《深入理解Java虛擬機:JVM高級特性與最佳實踐》(第三版)1.6實戰(zhàn):自己編譯JDK

    原文鏈接:https://www.cnblogs.com/Zhouge6/p/15781939.html?utm_source=tuicool&utm_medium=referral

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有