CentOS做爲服務器系統,追求的是穩定性和高性能,運行其上的軟件天然不會同步得那麼實時。普通軟件,找到合適的YUM倉庫就能順利解決依賴完成更新。html
可是對於GCC這種底層應用來說,涉及到的依賴很是多。更新超複雜,且不建議在生產服務器上進行更新。但若是你須要新版本的GCC該怎樣呢?實際上Redhat和CentOS一直對開發有專門的支持,即devtools軟件包。包含有:gcc、gdb、binutils、elfutils、SystemTap、Valgrind、OProfile和dwz。以CentOS爲例:linux
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -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++c++
爲了避免影響本機的gcc環境,開發工具默認安裝在‘/opt/centos/devtoolset-1.1/root/’目錄下。須要修改用戶的環境變量方可以使用:centos
export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc
bash
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工具
筆者小試了一把,在CentOS 6.4下,原生GCC版本爲4.4.7-3,官網給出的開發版本爲4.7.2-5。拿來編譯linux-3.9.7內核,生成的文件變小了一丁點,時間沒太留意,上應該更快吧。哈哈……性能