首頁 > 後端開發 > C++ > g 預設採用什麼 C 標準?

g 預設採用什麼 C 標準?

Barbara Streisand
發布: 2024-11-12 12:19:01
原創
448 人瀏覽過

What C   Standard Does g   Default To?

g 的預設 C 標準是什麼?

最近在嘗試編譯 C 程式碼時遇到的編譯錯誤引發了預設 C 標準是什麼的問題使用 g 編譯器時。涉及的程式碼包括文件流和字串操作。使用命令“g example.cpp”編譯時,由於涉及字串和 const char* 之間的轉換錯誤,編譯失敗。然而,使用命令 'g -std=c 17 example.cpp' 解決了這個問題。

為了調查未指定-std 標誌時g 使用的預設標準,提出了一種方法來確定特定版本的g 支援的C 標準的預設版本:

確定預設值標準

  1. Bash:執行下列指令:

    g++ -dM -E -x c++ /dev/null | grep -F __cplusplus
    登入後複製
  2. PowerShell

    g++ -dM -E -x c++ NUL | Select-String __cplusplus
    登入後複製

    PowerShell

    執行以下指令:#define __cplusplus 199711L

    這些指令的輸出指令將顯示類似下列內容的行:

「__cplusplus」後面的值表示預設的C 標準版本。在本例中,它是 C 98 (199711)。

    實際注意事項
  • 作為程式設計師,是否或總是指定-std 標誌的決定取決於幾個因素因素:
  • 項目要求:如果項目需要特定的C 標準,應使用-std 標誌明確設定。
  • 編譯器版本:現代版本的 g (4.7 ) 支援更廣泛的 C 標準。如果使用舊版本,則可能需要指定 -std 標誌。

程式碼可移植性

:如果程式碼旨在跨不同編譯器或平台移植,則最佳實踐是明確指定所需的 C 標準以確保一致的行為。 一般情況下,建議使用 -std 標誌明確指定 C 標準,以避免因意外行為隱式預設設定。透過控制 C 標準,程式設計師可以確保最佳效能、程式碼正確性和可攜性。

以上是g 預設採用什麼 C 標準?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板