我想使用c 11/14的功能,如基于范圍的回圈,但在做g program.cpp時得到一個警告。如果使用編譯器標志g -std=c 11 program.cpp,警告就會消失。有沒有辦法在g 命令中默認使用c 11/14(即不用每次都傳遞編譯器標志)。
請向一個對編譯器知識有限,并且只需要c 11/14功能來解決競爭性編程問題的人解釋一下(即使在一般情況下這是一個壞主意,也許是由于向后兼容?)
uj5u.com熱心網友回復:
如果你使用的是gcc版本> 4.9.3,使用這個命令。g -std=c 14 program.cpp
如果你使用的是比這更早的版本,使用g -std=c 1y program.cpp
注意:考慮在你的命令中的program.cpp之前添加-Wall標志,以獲得警告,它們對你的幫助比你想象的要大!
提示:如果你是一個剛開始的開發者,并且不希望學習曲線太陡峭,在完全使用命令列之前,可以嘗試使用IDE。
編輯:如果你想讓某個命令成為 "默認的",你可以在你的.bashrc或.bash_profile檔案中添加類似alias mycc='g -std=c 14 -Wall'的東西(見此鏈接),然后你就可以使用mycc program.cpp
uj5u.com熱心網友回復:
簡短的回答。更新你的g
根據g 檔案
如果沒有給出C 語言方言選項,默認是-std=gnu 17。
你可能使用的是舊版本的 g 。你可以通過在終端運行g --version來檢查它。如果你使用的是Linux,你也可以通過在終端運行man g | col -b | grep -B 1 -e '-std.* default'命令,從g 手冊中提取你的默認c 標準。
如果你不想更新你的g ,你也可以設定一個命令別名,在你的.bashrc
alias g ='g -std=c 14'的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314154.html
標籤:
