Saya sedang mengembangkan executable antarmuka baris perintah untuk osx dan linux menggunakan c / c ++. Proyek ini akan ditautkan ke opencv. Apakah saya harus menggunakan libc ++ atau libstdc ++?
Saya sedang mengembangkan executable antarmuka baris perintah untuk osx dan linux menggunakan c / c ++. Proyek ini akan ditautkan ke opencv. Apakah saya harus menggunakan libc ++ atau libstdc ++?
Jawaban:
Saya akan menggunakan pustaka asli untuk setiap OS yaitu libstdc ++ di GNU / Linux dan libc ++ di Mac OS X.
libc ++ belum 100% selesai di GNU / Linux, dan tidak ada keuntungan nyata untuk menggunakannya saat libstdc ++ sudah lebih lengkap. Selain itu, jika Anda ingin menautkan ke pustaka lain yang ditulis dalam C ++, mereka hampir pasti dibuat dengan libstdc ++ sehingga Anda harus menautkannya juga untuk menggunakannya.
Info selengkapnya di sini tentang kelengkapan libc ++ di berbagai platform.
std::ctype_base::mask
nilai ke <ctype.h>
konstanta sepenuhnya bergantung pada platform. (Intrinsik CPU disediakan oleh compiler, penanganan pengecualian dilakukan oleh lapisan ABI tingkat rendah, tetapi IO biasanya dilakukan sepenuhnya di pustaka C ++ dan C, bukan barang tingkat rendah).
Distribusi Linux utama tidak menyediakan LLVM libc ++, karena:
Jika pada akhirnya libc ++ menjadi bagian dari distribusi, ini akan menjadi komponen opsional. menautkannya mungkin akan membutuhkan opsi tambahan.
Seperti kata Jonathan, Anda harus menggunakan alat apa pun yang disertakan secara default. Clang aman digunakan di Linux karena dikonfigurasi sebagai pengganti GCC, jadi dalam aspek itu Anda tidak perlu mengkhawatirkan 2 kompiler. Juga karena Anda menargetkan dua platform, Anda harus melihat untuk membuat.