首頁  >  文章  >  後端開發  >  何時應將 \'-stdlib=libstdc \' 標誌與 GCC 一起使用?

何時應將 \'-stdlib=libstdc \' 標誌與 GCC 一起使用?

Patricia Arquette
Patricia Arquette原創
2024-10-23 15:31:02528瀏覽

When Should the '-stdlib=libstdc  ' Flag Be Used with GCC?

有必要指定使用GNU 標準C 函式庫(libstdc ) 作為執行時間函式庫。

編譯器是否自動使用 libstdc ?

否。根據作業系統和特定的 GCC 版本,編譯器可能預設使用不同的執行時間庫。

何時使用'-stdlib=libstdc ' 標誌

以下是一些需要使用'-stdlib=libstdc ' 標誌的場景:

在Linux 上:
    雖然大多數Linux 發行版預設使用libstdc,但明確指定該標誌可以確保不同版本之間的相容性。
  • 在 Mavericks 之前的 macOS 上:
  • 在 macOS Mavericks 之前,預設執行時間庫是 Apple 的舊版本 libstdc 。要使用 libc(支援 C 11),必須使用 '-stdlib=libc ' 標誌。
  • 自 Mavericks 以來的 macOS 上:
  • 自 macOS Mavericks 以來,libc 已成為預設值和不應使用 '-stdlib=libstdc ' 標誌。
  • 編譯指令

要在不同作業系統上使用libstdc 編譯C 11 程式碼,請使用下列指令指令:

Linux:
    g -std=c 11 -stdlib=libstdc input.cxx -o a.out
  • Mavericks 之前的macOS:
  • g -std=c 11 -stdlib=libc input.cxx -o a.out
  • 自Mavericks 以來的macOS:
  • clang -std=c 11 input.cxx -o a.out出來

以上是何時應將 \'-stdlib=libstdc \' 標誌與 GCC 一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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