【轉】gcc/g++ 如何支援c11 / c++11標準編譯

來源:互聯網
上載者:User

標籤:

123456789101112 /*    file : main.cpp*/#include <stdio.h> int main() {    int a[5] = { 1, 2, 2, 5, 1 };    forint i:a ) {        printf"%d\n", a[i] );    }    return 0;}

那麼g++ 就會提示以下錯誤:

123 main.cpp: In function ‘int main()’:main.cpp:5:13: error: range-based ‘for’ loops are not allowed in C++98 mode  forint i:a ) {

 

意思是指在C++98中不支援此迴圈方式,因為這是C++11新增的迴圈方式。

那麼如果一定要編譯呢?

通過命令man g++可以得知以下方法:

g++ -g -Wall -std=c++11 main.cpp

除了g++ , gcc 也可以類似方法支援C11

gcc -g -Wall -std=c11 main.cpp

如果不想每次寫這個-std=C++11這個選項該怎麼辦呢?

  方法出處:http://stackoverflow.com/questions/16886591/how-do-i-enable-c11-in-gcc

  方法1:寫Makefile

  方法2:取別名 :alias g++11="g++ -std=c++11"

【轉】gcc/g++ 如何支援c11 / c++11標準編譯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.