如何在CentOS上使用高版本的GCC編譯

2022-04-02 16:43:13 字數 1203 閱讀 7307

centos作為伺服器系統,追求的是穩定性和高效能,執行其上的軟體自然不會同步得那麼實時。普通軟體,找到合適的yum倉庫就能順利解決依賴完成更新。

但是對於gcc這種底層應用來講,涉及到的依賴非常多。更新超複雜,且不建議在生產伺服器上進行更新。但如果你需要新版本的gcc該怎樣呢?實際上redhat和centos一直對開發有專門的支援,即devtools軟體包。包含有:gcc、gdb、binutils、elfutils、systemtap、valgrind、oprofile和dwz。以centos為例:

wget -o /etc/yum.repos.d/devtools-1.1.repo

yum -y --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

為了不影響本機的gcc環境,開發工具預設安裝在『/opt/centos/devtoolset-1.1/root/』目錄下。需要修改使用者的環境變數方可使用:

export cc=/opt/centos/devtoolset-1.1/root/usr/bin/gcc 

export cpp=/opt/centos/devtoolset-1.1/root/usr/bin/cpp

export cxx=/opt/centos/devtoolset-1.1/root/usr/bin/c++

推薦使用gcc預設給出的環境變數設定指令碼『/opt/centos/devtoolset-1.1/enable 』。將其加到有需要使用者的環境變數中,重新登入即生效。

echo 'source /opt/centos/devtoolset-1.1/enable' >> ~/.bash_profile

source /opt/centos/devtoolset-1.1/enable

gcc -v

筆者小試了一把,在centos 6.4下,原生gcc版本為4.4.7-3,官網給出的開發版本為4.7.2-5。拿來編譯linux-3.9.7核心,生成的檔案變小了一丁點,時間沒太留意,上應該更快吧。哈哈……

教你如何在CentOS上使用Samba共享檔案

在伺服器日常維護過程中經常需要傳輸檔案,一般可以用filezilla工具。但如果檔案比較大,例如gb級別的,傳輸效率就比較慢,此時可以建立共享資料夾。安裝環境 centos7 首先檢查是否已安裝samba,如果有安裝或有samba元件,最好先解除安裝再安裝 rpm qa grep samba確認沒有...

如何在低版本的Xcode中使用高版本的SDK

這幾天需要在 ios 上做乙個關於 opengl es 的課設,想要真機除錯時才發現我的 4.2 版本的 xcode 最高只支援 ios 5.0 的 sdk,而我手上的兩部測試裝置都已經公升級到了 ios 5.1.1。雖然備份的有 shsh 可以降回 ios 5.0,但是總覺得太麻煩了,於是打算公升...

如何在centos上安裝epel源

epel extra packages for enterprise linux,企業版linux的額外軟體包 是fedora小組維護的乙個軟體倉庫專案,為rhel centos提供他們預設不提供的軟體包。這個源相容rhel及像centos和scientific linux這樣的衍生版本。我們可以很...