gcc g 如何支援c11 c 11標準編譯

2022-05-09 21:18:42 字數 904 閱讀 1746

#cat aa.cc

/* file : main.cpp

*/#include int main() ;

for( int i:a )

return 0;

}

#g++ -v

gcc version 4.8.5 20150623 (red hat 4.8.5-4) (gcc)

#g++ -o aa -g -wall aa.cc

aa.cc: in function 『int main()』:

aa.cc:8:16: error: range-based 『for』 loops are not allowed in c++98 mode

for( int i:a ) {

^

#g++ -v

gcc version 6.4.0 20170704 (red hat 6.4.0-1) (gcc)

#./a.out22

252

意思是指在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這個選項該怎麼辦呢?

方法1:寫makefile

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

C 11 C 11帶來的隨機數生成器

c 11帶來諸多特性,random就是其一.1.random device 標準庫提供了乙個非確定性隨機數生成裝置.在linux的實現中,是讀取 dev urandom裝置 windows的實現居然是用rand s,在這裡強烈譴責一下.random device提供 操作符,用來返回乙個min 到m...

C 11 C 11帶來的隨機數生成器

1.random device 標準庫提供了乙個非確定性隨機數生成裝置.在linux的實現中,是讀取 dev urandom裝置 windows的實現居然是用rand s,在這裡強烈譴責一下.random device提供 操作符,用來返回乙個min 到max 之間的乙個數字.如果是linux un...

c 11 執行緒支援庫 執行緒

c 支援庫 c 包含執行緒 互斥 條件變數和 的內建支援。class thread 類thread表示單個執行執行緒。執行緒允許多個函式併發執行。緊接著關聯的執行緒物件構造,執行緒開始執行 為任何 os 排程延遲懸掛 始於作為構造函式引數提供的頂層函式。忽略頂層函式的返回值,而且若它以拋異常終止,則...