de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
Raymond Valdes
Raymond Valdes
Question

Ketika itu diperlukan untuk penggunaan bendera -stdlib=sebuah berkas++?

Ketika itu diperlukan untuk menggunakan menggunakan bendera -stdlib=sebuah berkas++ untuk compiler dan linker ketika compile dengan gcc?

Apakah compiler secara otomatis menggunakan sebuah berkas++?

Saya menggunakan gcc4.8.2 pada Ubuntu 13.10 dan saya ingin menggunakan c++11 standar. Saya sudah lulus -std=c++11 untuk compiler.

48 2013-11-04T18:43:51+00:00 3
Pemrograman
gcc
c++
c++11
std
libstdc++
Solution / Answer
Bill Lynch
Bill Lynch
4 November 2013 в 6:52
2013-11-04T18:52:02+00:00
Lebih
Sumber
Sunting
#22711554

Di Linux: Secara umum, semua yang biasa tersedia di distribusi linux akan menggunakan sebuah berkas++ secara default, dan semua versi modern dari GCC datang dengan sebuah berkas++ yang mendukung C++11. Jika anda ingin mengkompilasi c++11 kode berikut ini, gunakan salah satu dari:

  • g++ -std=c++11 input.cxx -o a.keluar (biasanya GNU compiler)
  • g++ -std=gnu++11 input.cxx -o a.keluar

Pada OS X sebelum Mavericks: g++ itu benar-benar sebuah alias untuk dentang++ dan Apple's versi lama dari sebuah berkas++ adalah default. Anda bisa menggunakan libc++ (termasuk c++11 dukungan perpustakaan) dengan melewati -stdlib=libc++. Jika anda ingin mengkompilasi c++11 kode berikut ini, gunakan salah satu dari:

  • g++ -std=c++11 -stdlib=libc++ input.cxx -o a.keluar (dentang, bukan GNU compiler!)
  • g++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.keluar (dentang, bukan GNU compiler!)
  • dentang++ -std=c++11 -stdlib=libc++ input.cxx -o a.keluar
  • dentang++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.keluar

Pada OS X Mavericks sejak: libc++ adalah default. Anda dapat menggunakan Apel's versi lama dari sebuah berkas++ (yang tidak termasuk c++11 dukungan perpustakaan) dengan melewati -stdlib=sebuah berkas++

  • dentang++ -std=c++11 input.cxx -o a.keluar
  • dentang++ -std=gnu++11 input.cxx -o a.keluar
 user2864740
user2864740
Jawaban edit 12 Oktober 2019 в 8:22
77
0
Jonathan Wakely
Jonathan Wakely
18 Mei 2018 в 9:03
2018-05-18T09:03:51+00:00
Lebih
Sumber
Sunting
#22711555

Saat perlu menggunakan menggunakan bendera -stdlib=sebuah berkas++ untuk compiler dan linker ketika compile dengan gcc?

Jawaban singkat: tidak pernah

Lagi menjawab: -stdlib adalah Dentang bendera dan tidak akan bekerja dengan versi GCC yang pernah dirilis. Pada Mac OS X kadang-kadang gcc dan g++ perintah yang sebenarnya alias untuk Dentang tidak GCC, dan versi dari sebuah berkas++ bahwa Apple kapal adalah kuno (circa 2008) jadi tentu saja itu doesn't dukungan C++11. Ini berarti bahwa pada OS X saat menggunakan Dentang-pura-pura-untuk-menjadi-GCC, anda dapat menggunakan -stdlib=libc++ untuk memilih Dentang's baru C++11-perpustakaan yang kompatibel, atau anda bisa menggunakan -stdlib=sebuah berkas++ untuk memilih pra-C++11 antik versi dari sebuah berkas++ yang termasuk dalam museum. Tapi pada GNU/Linux gcc dan g++ benar-benar GCC tidak Dentang, dan jadi -stdlib pilihan won't bekerja pada semua.

Apakah compiler secara otomatis menggunakan sebuah berkas++?

Ya, GCC selalu menggunakan sebuah berkas++ kecuali anda kirim untuk menggunakan no standar perpustakaan dengan -nostdlib pilihan (dalam hal ini anda juga perlu menghindari menggunakan standar perpustakaan memiliki, atau menggunakan aku dan L dan -l bendera ke titik itu untuk alternatif set dari header dan library file).

saya menggunakan gcc4.8.2 pada Ubuntu 13.10 dan saya ingin menggunakan c++11 standar. Saya sudah lulus -std=c++11 untuk compiler.

Anda don't perlu melakukan apa-apa lagi. GCC datang dengan implementasi sendiri dari C++ standar library (sebuah berkas++) yang dikembangkan dan diuji bersama GCC sendiri jadi versi GCC dan versi dari sebuah berkas++ adalah 100% kompatibel. Jika anda mengkompilasi dengan std=c++11 maka yang memungkinkan C++11 fitur dalam g++ compiler dan juga C++11 fitur-fitur dalam sebuah berkas++ header.

Jonathan Wakely
Jonathan Wakely
Jawaban edit 18 Mei 2018 в 9:09
17
0
Torsten Robitzki
Torsten Robitzki
4 November 2013 в 6:46
2013-11-04T18:46:00+00:00
Lebih
Sumber
Sunting
#22711553

Compiler menggunakan sebuah berkas++ secara otomatis, jika anda menggunakan g++ frontend, tidak gcc frontend.

6
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 1 hari yang lalu
2
Akshit Mehta
Terdaftar 4 hari yang lalu
3
me you
Terdaftar 1 minggu yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi