導航:首頁 > 源碼編譯 > 編譯cpu雲主機

編譯cpu雲主機

發布時間:2024-12-14 10:47:38

① 如何建立針對arm-linux的交叉編譯環境

採用交叉編譯的主要原因在於,多數嵌入式目標系統不能提供足夠的資源供編譯過程使用,因而只好將編譯工程轉移到高性能的主機中進行。
linux下的交叉編譯環境重要包括以下幾個部分:
1.對目標系統的編譯器gcc
2.對目標系統的二進制工具binutils
3.目標系統的標准c庫glibc
4.目標系統的linux內核頭文件
交叉編譯環境的建立步驟
一、下載源代碼 下載包括binutils、gcc、glibc及linux內核的源代碼(需要注意的是,glibc和內核源代碼的版本必須與目標機上實際使用的版本保持一致),並設定shell變數PREFIX指定可執行程序的安裝路徑。
二、編譯binutils 首先運行configure文件,並使用--prefix=$PREFIX參數指定安裝路徑,使用--target=arm-linux參數指定目標機類型,然後執行make install。
三、配置linux內核頭文件
首先執行make mrproper進行清理工作,然後執行make config ARCH=arm(或make menuconfig/xconfig ARCH=arm)進行配置(注意,一定要在命令行中使用ARCH=arm指定cpu架構,因為預設架構為主機的cpu架構),這一步需要根據目標機的實際情況進行詳細的配置,筆者進行的實驗中目標機為HP的ipaq-hp3630 PDA,因而設置system type為SA11X0,SA11X0 Implementations中選擇Compaq iPAQ H3600/H3700。
配置完成之後,需要將內核頭文件拷貝到安裝目錄: cp -dR include/asm-arm $PREFIX/arm-linux/include/asm cp -dR include/linux $PREFIX/arm-linux/include/linux
四、第一次編譯gcc
首先運行configure文件,使用--prefix=$PREFIX參數指定安裝路徑,使用--target=arm-linux參數指定目標機類型,並使用--disable-threads、--disable-shared、--enable-languages=c參數,然後執行make install。這一步將生成一個最簡的gcc。由於編譯整個gcc是需要目標機的glibc庫的,它現在還不存在,因此需要首先生成一個最簡的gcc,它只需要具備編譯目標機glibc庫的能力即可。
五、交叉編譯glibc
這一步驟生成的代碼是針對目標機cpu的,因此它屬於一個交叉編譯過程。該過程要用到linux內核頭文件,默認路徑為$PREFIX/arm-linux/sys-linux,因而需要在$PREFIX/arm-linux中建立一個名為sys-linux的軟連接,使其內核頭文件所在的include目錄;或者,也可以在接下來要執行的configure命令中使用--with-headers參數指定linux內核頭文件的實際路徑。
configure的運行參數設置如下(因為是交叉編譯,所以要將編譯器變數CC設為arm-linux-gcc): CC=arm-linux-gcc ./configure --prefix=$PREFIX/arm-linux --host=arm-linux --enable-add-ons 最後,按以上配置執行configure和make install,glibc的交叉編譯過程就算完成了,這里需要指出的是,glibc的安裝路徑設置為$PREFIXARCH=arm/arm-linux,如果此處設置不當,第二次編譯gcc時可能找不到glibc的頭文件和庫。
六、第二次編譯gcc
運行configure,參數設置為--prefix=$PREFIX --target=arm-linux --enable-languages=c,c++。
運行make install。
到此為止整個交叉編譯環境就完全生成了。
幾點注意事項
第一點、在第一次編譯gcc的時候可能會出現找不到stdio.h的錯誤,解決辦法是修改gcc/config/arm/t-linux文件,在TARGET_LIBGCC2_CFLAGS變數的設定中增加-Dinhibit_libc和-D__gthr_posix_h。

② 2020-11-09 Win10 WSL編譯Linux code速度極慢

新裝了一台i5 10400 cpu的主機。編譯Linux工具鏈, 發現在win10 WSL 2.0,Ubuntu環境下,速度極慢。同樣的機子我還裝了Ubunut 20.04, 差距明顯,要快很茄旦銀多。甚至比Macbook Pro下運行LUbuntu虛擬機下的執行速顫宴度還要慢一半。遲毀

口說無憑,列個表格,下面幾項,是編譯同樣的東西,我從輸出日誌裡面取的。

所以Windows下做一些Linux驅動的開發是非常不合適的,不知道時間都花在哪裡了?運行的時候,CPU的6個線程100%負載,6個線程60%負載。不如裝個虛擬機用。

③ 我用224cn主機編譯過後提示我程序塊過大怎麼辦謝謝了,大神幫忙啊

感謝各位,我做的程序已經達到9k了,包括一個自定義的通訊協議,程序是相當大呀。

閱讀全文

與編譯cpu雲主機相關的資料

熱點內容
二手車搬運工app哪個好 瀏覽:477
怎麼編成一個mc伺服器 瀏覽:199
施工壓縮工期 瀏覽:552
python導入包代碼 瀏覽:60
武漢解壓體驗館創業 瀏覽:983
如何弄到一個伺服器 瀏覽:805
psp里的文件夾怎麼刪除 瀏覽:647
安卓手機如何在鎖屏的情況下拍攝視頻 瀏覽:459
安卓為什麼不能安裝procreate 瀏覽:529
如何修復王者榮耀的伺服器 瀏覽:654
javaif多個條件 瀏覽:506
顯示pdf縮略圖 瀏覽:533
奇跡移動命令圖片 瀏覽:857
多玩怎麼開到伺服器 瀏覽:656
基於單片機的水塔水位控制系統設計 瀏覽:480
yd什麼伺服器 瀏覽:520
muduo源碼分析 瀏覽:376
androidselector屬性 瀏覽:536
像素工廠如何加入伺服器 瀏覽:485
移動伺服器地址和埠號 瀏覽:656