Rumah >pembangunan bahagian belakang >C++ >Bilakah Bendera -stdlib=libstdc Diperlukan Semasa Penyusunan?
Bendera -stdlib=libstdc mengarahkan pengkompil dan pemaut untuk menggunakan pelaksanaan perpustakaan standard libstdc semasa penyusunan. Walau bagaimanapun, tidak semestinya perlu untuk menyatakan bendera ini secara eksplisit.
Apabila Menggunakan Linux atau GCC Moden pada Platform Lain
Untuk kebanyakan pengedaran Linux dan versi GCC semasa, libstdc ialah pelaksanaan perpustakaan standard lalai. Oleh itu, menggunakan bendera -stdlib=libstdc tidak diperlukan semasa menyusun kod C 11 pada platform ini. Hanya gunakan arahan berikut:
g++ -std=c++11 input.cxx -o a.out (GNU compiler) g++ -std=gnu++11 input.cxx -o a.out
Pada macOS Sebelum Mavericks
Pada keluaran macOS sebelum Mavericks, g ialah pautan simbolik untuk berdenting . Pelaksanaan libstdc Apple yang lebih lama adalah lalai. Untuk menggunakan libc , yang menyediakan sokongan perpustakaan C 11, bendera -stdlib=libc diperlukan:
g++ -std=c++11 -stdlib=libc++ input.cxx -o a.out (clang, not GNU compiler!) g++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.out (clang, not GNU compiler!) clang++ -std=c++11 -stdlib=libc++ input.cxx -o a.out clang++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.out
Pada macOS Since Mavericks
Pada macOS Mavericks dan kemudiannya , libc ialah lalai. Melepasi bendera -stdlib=libstdc secara eksplisit adalah tidak diperlukan:
clang++ -std=c++11 input.cxx -o a.out clang++ -std=gnu++11 input.cxx -o a.out
Pengecualian
Mungkin terdapat kes tertentu di mana penggunaan bendera -stdlib=libstdc secara eksplisit bermanfaat:
Atas ialah kandungan terperinci Bilakah Bendera -stdlib=libstdc Diperlukan Semasa Penyusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!