首頁  >  文章  >  後端開發  >  使用 GCC 編譯時何時需要「-stdlib=libstdc」標誌?

使用 GCC 編譯時何時需要「-stdlib=libstdc」標誌?

Linda Hamilton
Linda Hamilton原創
2024-10-24 01:27:29149瀏覽

When is the

使用GCC 編譯時何時使用「-stdlib=libstdc」標誌

在某些情況下,明確設定「-stdlib = libstdc " 標誌在使用GCC 編譯時是必要的。情況如下:

在 Linux 上:

預設情況下,Linux 發行版使用 libstdc 作為標準 C 函式庫。此外,現代版本的 GCC 在其捆綁的 libstdc 中固有地支援 C 11。因此,要在Linux 上編譯C 11 程式碼,只需使用帶有g 的「-s​​td=c 11」標誌就足夠了:

在Pre-Mavericks OS X 上:

歷史上,OS X 上的g 是clang 的別名。在這種情況下,Apple 的舊版 libstdc 是預設值。要利用包含C 11 支援的libc ,您必須明確指定「-stdlib=libc 」:

在Mavericks 和更高版本的OS X 上:

從OS X Mavericks 開始,libc 成為預設的C 函式庫。因此,無需使用「-stdlib=」標誌:

在OS X 上針對libstdc 進行建置:

從Xcode 10 開始,不再建置支援針對libstdc 的應用程式。針對 libstdc 編譯的現有程式碼將繼續執行,但不允許編譯新程式碼。

以上是使用 GCC 編譯時何時需要「-stdlib=libstdc」標誌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn