Ubuntu安裝新版GCC並啟用C++11
C++11,(即ISO/IEC 14882:2011),是目前的C++程式語言的最新正式標準。它取代了第二版標準(第一版公開於1998年,第二版於2003年更新,分別通稱C++98以及C++03,兩者差異很小)。新的標準包含核心語言的新機能,而且擴充套件C++標準程式庫。C++11新標準由C++標準委員會於2011年8月12日公佈,並於2011年9月出版。此次標準為C++98釋出後13年來第一次重大修正。
像C++這樣的程式語言,通過一種演化的的過程來發展其定義。這個過程不可避免地將引發與現有程式碼的相容問題,在C++的發展過程中偶爾會發生。不過根據Bjarne Stroustrup(C++的創始人並且是委員會的一員)表示,新的標準將幾乎100%兼容於現有標準。關於C++11的新特性和一些版本變更請看:
目前最新版本的GCC/G++是4.8,新版本的GCC支援最新的C++11標準,十分值得去使用&學習。 下面讓我們在Ubuntu12.04 LTS用上GCC最新版本,去體驗C++11新標準帶來的東西吧!
首先非原始碼編譯式安裝:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.8 sudo apt-get install g++-4.8
等GCC/G++下載並安裝完以後,測試是否安裝成功:
gcc-4.8 -v g++-4.8 -v
如果顯示版本號表示安裝成功:
安裝成功後我們如果要使用gcc-4.8和g++-4.8來編譯的話,我們就得把gcc改為gcc-4.8,g++同理,改為g++-4.8來進行編譯。
此時使用gcc -v檢視預設版本,為4.6版本:
如果你想直接使用gcc-4.8而不改變編譯時gcc改為gcc-4.8的話,我們就可以更改一下gcc的軟連結:
sudo rm /usr/bin/gcc sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc sudo rm /usr/bin/g++ sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++現在我們用gcc -v來測試就能發現變為了4.8了!
既然GCC-4.8使用了最新的C++11標準,但是我們為什麼還是提示錯誤呢?解決方法如下:
在編譯的時候新增-std=c++11選項即可正常編譯C++11標準的程式碼!
我們可以寫一個簡單的例子來測試,這裡用的是C++11新標準的範圍for(Range for)語句,用來遍歷給定序列中的每個元素:
/*************************************************************************
> File Name: test.cpp
> Author: SongLee
> E-mail: [email protected]
> Created Time: 2014年03月23日 星期日 22時29分19秒
> Personal Blog: http://songlee24.github.io/
************************************************************************/
#include<iostream>
#include<cstring>
#include<cctype>
using namespace std;
int main()
{
string str("some string");
// range for 語句
for(auto &c : str)
{
c = toupper(c);
}
cout << str << endl;
return 0;
}
上面的程式使用Range for語句遍歷一個字串,並將所有字元全部變為大寫,然後輸出。其中auto型別也是C++11新標準中的,用來自動獲取變數的型別。
好了,接下來進行編譯執行:
g++ -o test test.cpp
提示錯誤:‘c’變數沒有型別,範圍for迴圈不允許在C++98標準中使用
這是因為GCC/G++預設的-std(即C++語言標準)不是C++11,在這裡預設的是C++98,所以需要顯式地開啟,即新增-std=c++11選項:
g++ -std=c++11 -o test test.cpp
編譯成功!!!執行以後輸出some string的大寫形式!
相關推薦
Ubuntu安裝新版GCC並啟用C++11
C++11,(即ISO/IEC 14882:2011),是目前的C++程式語言的最新正式標準。它取代了第二版標準(第一版公開於1998年,第二版於2003年更新,分別通稱C++98以及C++03,兩者差異很小)。新的標準包含核心語言的新機能,而且擴充套件C++標準程
gcc/g++以c++11編譯
pragma exp .cpp erro expect span 類定義 cte before 方法一: //在程序頭加上預定義編譯器命令 #pragma GCC diagnostic error "-std=c++11" //通過#pragma 指示 GCC編譯器處理錯誤
Ubuntu安裝Sublime Text並輸入中文
中文 bject data- gen 能夠 ppa microsoft windows bin Sumblime Text3是一款傳說中的神級代碼編輯器,具有
Ubuntu安裝qt-opensource-linux-x64-5.11.1
登陸qt官方下載頁面:http://download.qt.io/archive/qt/ 本文以安裝qt-opensource-linux-x64-5.11.1為例。 把下載好的qt-opensource-linux-x64-5.11.1.run放進Linux系統裡。首先給qt-o
Ubuntu-安裝MySQL5.7並配置使用者名稱密碼
1、安裝mysql sudo apt-get install mysql-server 2、2018年9月14日我安裝的MySQL為5.7.21,檢視方法為 mysql -V 3、5.7之後的mysql安裝直接完成,不會讓使用者配置使用者名稱和密碼,所以需要使用超級許可權直接進入MySQL su
Ubuntu 安裝python3.6並設定為預設
最近在學習python,要想學好一門語言,好的程式設計環境就是成就大神的第一步,所以學會安裝搭建python程式設計環境是必修功課。新手上路!有什麼錯誤的請各位大神指點,謝謝。 Step1:如果沒有安裝python相關依賴的可以安裝下 sudo apt-get in
Ubuntu 安裝firefox中文版 (啟用google翻譯功能)
1。首先,可以在軟體商店裡解除安裝當前firefox瀏覽器 2。官網下載firefox瀏覽器中文版firefox官網 3。解壓安裝包 4。把安裝包放到/usr/local下 sudo mv firefox /usr/local 5。建立軟連結 sudo ln -s /us
Ubuntu安裝WPS,並解決系統字型問題
1、Ubuntu安裝WPS 開啟連結,點選下載安裝包 http://www.wps.cn/product/wpslinux/ 在下載安裝包的目錄下執行命令安裝 sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.de
在deepin 15.5中安裝vs code並配置c/c++環境
參考了以下幾篇文章:https://www.zhihu.com/question/30315894/answer/154979413(雖然講解的是Windows環境中的安裝,但十分詳盡,很有參考價值);https://my.oschina.net/u/1044667/blog
Ubuntu安裝Mono2.10並使用Apache承載Asp.Net mvc3應用程式
Asp.Net長久以來令大規模部署所詬病的便是其成本的高企,mono的出現為.net應用程式打開了通往linux的一扇大門,使得.Net應用程式低成本部署成為可能。最近為了嘗試將Asp.Net Mvc3部署在Linux下,查閱了很多資料,但發現大多數都是在OpenSUSE的,介紹如何Ubuntu下
在deepin 15.5中安裝vs code並配置c/c++環境(二)——配置clang
接上文:https://blog.csdn.net/defetc/article/details/79946100本文配置檔案參考:https://www.zhihu.com/question/30315894/answer/154979413一、安裝clang apt
使用NDK編譯並執行C++11的Command line命令列程式
用C++11寫了一個併發的類,使用了lock-free的演算法。需要在跨平臺(PC、android)執行一個測試程式,測試在不同CPU上是否穩定。 在android上,涉及到如何使用NDK編譯和執行命令列程式以及如何使用NDK編譯支援C++11的程式這兩個問題。 以下使用a
ubuntu14.04 下安裝sublime text3 並搭建C/C++編譯環境
{ "show_output_panel": false, "dont_prepend_clang_includes": true, "inhibit_sublime_completions": false, "options": [ "-std=gnu
gcc g++ 支援c++11編譯的標準和區別
g++ -g -Wall -std=c++11 main.cpp gcc -g -Wall -std=c11 main.cpp 如果不想每次寫這個-std=C++11這個選項該怎麼辦呢? 方法1:寫Makefile 方法2:取別名 :alias g++11
ubuntu 安裝 redis,並配置遠端、密碼
方式一: 本教程使用的最新文件版本為 2.8.17,下載並安裝: $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf redis-2.8.17.tar.gz $ cd redis
kubeadm安裝kubernetes v1.11.3 HA多主高可用並啟用ipvs
har 3.1 oba smt lec template prior yaml 應用 環境介紹: 系統版本:CentOS 7.5 內核:4.18.7-1.el7.elrepo.x86_64 Kubernetes: v1.11.3 Docker-ce: 18.06 Kee
Ubuntu安裝其他版本的gcc,並指定gcc版本
為何要安裝其他版本的gcc 總有很多時候,Ubuntu預設的高版本gcc不符合現在專案的需求,需要我們用稍低版本的gcc進行編譯。這個時候,我們就需要學著如何安裝稍低版本的gcc,在兩者並存才情況下,指定稍低版本進行工作。 如何安裝 1.下載g
ubuntu麒麟下安裝並啟用搜狗輸入法
1.首先開啟UK軟體,輸入搜狗尋找搜狗拼音軟體 然後下載搜狗拼音軟體 接著點選啟動該軟體 2.點選搜狗拼音的圖示,進入搜狗拼音的設定視窗 點選高階,並開啟FCITX設定 加入英語輸入法 3.這樣就可以進行中英文切換了
linux下安裝或升級GCC 4.8,以支援C++11標準
C++11標準在2011年8月份獲得一致通過,這是自1998年後C++語言第一次大修訂,對C++語言進行了改進和擴充。隨後各編譯器廠商都各自實現或部分實現了C++中的特性 。 如需檢視各編譯器對C++11的支援程度,請參看文章: 轉自:http://www.d
linux ubuntu 安裝最新版gcc
可以直接照著做,也可以看後面的調整細節 去官網提供的映象點下原始碼包(最近的似乎是日本的那個) https://gcc.gnu.org/mirrors.html 解壓,假設解壓到目錄為source tar -xf xxx 下載一些依賴庫,直接跑這個指令碼就不用手動搞了