clang編譯linux內核
㈠ 阿里平頭哥宣布,自研處理器已成功落地,它的性能如何
阿里巴巴宣布旗下的平頭哥半導體完成了安卓10對RISC-V的移植並開源了全部相關代碼。從平頭哥社區發布的信息來看,安卓10系統已經可以在玄鐵910晶元上流暢運行。
至於玄鐵910,則是前年阿里巴巴旗下的平頭哥半導體發布的一款號稱是業界最強的RISC-V處理器內核IP。資料顯示,玄鐵910單核性能達到7.1 Coremark/MHz,主頻達到2.5GHz,比當時業界最好的RISC-V處理器性能高40%以上。據介紹,玄鐵910可以用於設計製造高性能端上晶元,應用於5G、人工智慧以及自動駕駛等領域。
㈡ 如何設置來用clang/clang++替換linux下的默認編譯器Gcc
我暈, 你到底是在什麼發行版? 從提示上來看,要用 apt-get install 來裝,說明是 ubuntu/debian之類的linux發行版,你怎麼又會去用 rpm 來查詢和安裝軟體? 你不說你是什麼發行版,樓上回答的人也不管,直接就讓你用rpm,誤人子弟啊。
正確的方法是,
sudo apt-get install build-essential
這個才是你的系統應該用的,裝好後命令行下運行
gcc -v
就會列印出你使用gcc的版本信息了,然後就可以用了,比如
gcc -o test test.c
就會編譯test.c,生成可執行文件 test
然後
./test
就會運行test
我再暈,樓主,提示你沒有test.c,你的C源文件呢?我這里是用test.c做例子,你的源文件叫什麼名字,你就把test.c換成你的文件的名字啊。另外,你要把你的源文件先保存在linux機器上,比方說放到了 /home/yourname/aaa
那你要先
cd /home/yourname/aaa
然後再
gcc -o test test.c
㈢ 如何編譯linux版本
編譯linux內核步驟:
1、安裝內核
如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過。如果沒有安裝,在光碟機中放入linux安裝光碟,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedHat/RPMS/目錄,然後使用命令rpm -ivh kernel-source-2.xx.xx.rpm安裝內核。如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。
2、清除從前編譯內核時殘留的.o 文件和不必要的關聯
cd /usr/src/linux
make mrproper
3、配置內核,修改相關參數,請參考其他資料
在圖形界面下,make xconfig;字元界面下,make menuconfig。在內核配置菜單中正確設置個內核選項,保存退出
4、正確設置關聯文件
make dep
5、編譯內核
對於大內核(比如需要SCSI支持),make bzImage
對於小內核,make zImage
6、編譯模塊
make moles
7、安裝模塊
make moles_install
8、使用新內核
把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄,然後修改/etc/lilo.conf文件,加一個啟動選項,使用新內核bzImage/zImage啟動。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo預設使用新內核啟動linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留舊有的啟動選項可以保證新內核不能引導的情況,還可以進入linux進行其他操作。保存退出後,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效。
9、重新生成ram磁碟
如果您的系統中的/etc/lilo.conf沒有使用了ram磁碟選項initrd,略過。如果您的系統中的/etc/lilo.conf使用了ram磁碟選項initrd,使用mkinitrd initrd-內核版本號,內核版本號命令重新生成ram磁碟文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之後把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁碟能使系統性能盡可能的優化,具體參考/usr/src/linux/Documents/initrd.txt文件
10、重新啟動,OK!
㈣ 拿到了linux的內核 應該用什麼軟體 怎麼去編譯
1、你可以把linux內核代碼放到你的ubuntu或redhat之類的具有linux內核的操作系統裡面,然後在你指定的目錄裡面解壓你的內核源碼;
2、在主目錄裡面找到Makefile文件,修改裡面的「ARCH = 」和「CROSS_COMPILE」,也就是你的編輯器路徑,保存退出;
3、輸入make menuconfig配置你的內核參數,保存退出;
4、執行make zImage,你會看見屏幕嘩啦嘩啦的在運行,這是在生成內核zImage文件;
5、進入你的arch/(cpu型號)/root/裡面,你會看到zImage文件,這個就是你要的。
以上是最簡單的步驟,若想詳細了解,在網路裡面搜索「linux內核編譯」,會得到一大堆結果,記得一般只看文庫或者博客裡面的文章,因為質量比較好。
若需幫助,請追問!
㈤ 如何設置來用clang/clang++替換Linux下的默認編譯器Gcc
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
㈥ 編譯Linux內核作用
編譯內核的目的主要是改變內核的默認選項
編譯內核就是讓系統在這台機器上更穩定更安全!
建議你對Linux已經相當熟悉以後再去嘗試內核編譯!(需要一定的編程基礎)
㈦ 什麼是linux kernel有什麼作用
Linux內核(英語:Linux kernel)是一種開源的類Unix操作系統宏內核。
工作於平板電腦、智能手機及智能手錶的Android操作系統同樣通過Linux內核提供的服務完成自身功能。
一個計算機系統是一個硬體和軟體的共生體,它們互相依賴,不可分割。計算機的硬體,含有外圍設備、處理器、內存、硬碟和其他的電子設備組成計算機的發動機。但是沒有軟體來操作和控制它,自身是不能工作的。
完成這個控制工作的軟體就稱為操作系統,在Linux的術語中被稱為「內核」,也可以稱為「核心」。Linux內核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進程管理、文件系統、設備管理和驅動、網路通信,以及系統的初始化(引導)、系統調用等。
整個Linux操作系統家族基於該內核部署在傳統計算機平台(如個人計算機和伺服器,以Linux發行版的形式)和各種嵌入式平台,如路由器、無線接入點、專用小交換機、機頂盒、FTA接收器、智能電視、數字視頻錄像機、網路附加存儲(NAS)等。
工作於平板電腦、智能手機及智能手錶的Android操作系統同樣通過Linux內核提供的服務完成自身功能。盡管於桌面電腦的佔用率較低,基於Linux的操作系統統治了幾乎從移動設備到主機的其他全部領域。截至2017年11月,世界前500台最強的超級計算機全部使用Linux。

(7)clang編譯linux內核擴展閱讀:
編程語言
Linux是用C語言中的GCC版(這種C語言有對標准C進行擴展)寫的,還有幾個用匯編語言(用的是GCC的"AT&T風格")寫的目標架構短段。因為要支持擴展的C語言,GCC在很長的時間里是唯一一個能正確編譯Linux的編譯器。
有許多其他的語言用在一些方面上,主要集中在內核構建過程中(這里指從源代碼創建可引導鏡像)。包括Perl、Python和多種腳本語言。有一些驅動可能是用C++、Fortran或其他語言寫的,但是這樣是強烈不建議的。
編譯器兼容性
GCC是Linux內核源代碼的預設編譯器。在2004年,Intel主張通過修改內核,以便Intel C++編譯器能正確編譯內核。在2009年,有通過修改內核2.6.22版而成功編譯的報告(並帶來平均8-9%性能增長)。
自從2010年,已經開始進行使用Clang建造Linux內核的努力,Clang是一個可作為替代的C語言編譯器;截止2014年4月12日,官方內核幾乎可以完全用Clang編譯。致力於這個目標的計劃叫做「LLVMLinux」,得名於Clang所基於的LLVM編譯器下部構造。
LLVMLinux不意圖復制Linux內核或LLVM,因此它是由最終提交給上游計劃的補丁構成的一個元計劃。使Linux內核可以用Clang編譯最大的好處是比GCC有更快的編譯速度,內核開發者可以得益於由此而來的更快的工作流程
㈧ linux內核怎樣運行編譯
1.下載內核,官方網站地址:www.kernel.org
2.解壓(路徑自選)
3.進入到解壓的內核源碼文件夾,運行make menuconfig,如果不裁剪內核,那麼可以直接保存配置退出
4.make bzImage-->make moles-->mke moles_install-->make install(有些版本可能需要運行mkinitramfs -o intrd.img-內核版本號 內核版本號)
5.修改grub文件,將新內核加入進去
㈨ 如何設置來用clang/clang++替換Linux下的默認編譯器Gcc
是兩種不同的C++編譯器。gcc歷史很悠久了,而clang是新興的編譯器,已經兼容gcc,也全面支持C++11標准、Objective-C等,當然二者都是cross-platform的。具體的區別可以移步維基網路中gcc和clang詞條。
㈩ 如何使用clang+arm-linux-gcc編譯ARM程序並在模擬器上運
完全可以的,有arm-linux-gcc,你可以自己去編譯,這個需要的耐心很大,而且需要選擇好各種所需庫的版本,否則會出現編譯失敗;你也可以直接下載網上現成的.建議使用crosstool-ng集成編譯環境去編譯.
