何時使用 -stdlib=libstdc
使用 gcc 編譯時, -stdlib=libstdc 標誌指定要使用的 C 標準函式庫。在大多數情況下,編譯器會自動使用 libstdc (GNU C 函式庫)作為預設值。但是,在某些情況下,可能需要明確指定 -stdlib=libstdc 。
編譯器特定行為
在 Linux 上,所有主要發行版都使用 libstdc 作為預設 C 函式庫,最近的 GCC 版本預設支援 C 11。要編譯C 11 程式碼,您可以使用:
在Mavericks 之前的OS X 上, g 是clang 的別名,Apple 較舊的libstdc 是預設值。若要使用 libc (包括 C 11 函式庫支援),請傳遞 -stdlib=libc 。編譯選項包括:
OS X Mavericks 及更高版本
自OS X Mavericks 以來,libc 已成為預設的C 庫。在這種情況下,您應該避免使用 -stdlib= 標誌。值得注意的是,Xcode 10 及更高版本不再支援針對 libstdc 進行編譯。
推薦編譯選項
以上是使用 GCC 編譯時何時指定'-stdlib=libstdc”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!