Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menentukan Versi C Standard Penyusun Saya yang Dilaksanakan?

Bagaimanakah Saya Boleh Menentukan Versi C Standard Penyusun Saya yang Dilaksanakan?

DDD
Lepaskan: 2024-12-13 15:59:11
asal
175 orang telah melayarinya

How Can I Determine the Implemented C   Standard Version of My Compiler?

Menentukan Versi Standard C yang Dilaksanakan

Menentukan pelaksanaan standard C pengkompil anda boleh menjadi penting untuk memastikan keserasian dan menggunakan ciri bahasa terkini . Beberapa piawaian C telah dikeluarkan, termasuk C 98 dan C 03.

Satu kaedah untuk mengenal pasti versi standard ialah menyemak makro __cplusplus.

__cplusplus Macro

Menurut Soalan Lazim C 0x Bjarne Stroustrup, __cplusplus makro akan ditetapkan kepada nilai yang lebih besar daripada 199711L untuk C 11 dan lebih tinggi. Walau bagaimanapun, sesetengah pengkompil mungkin tidak menetapkan makro ini dengan betul.

GCC

gcc mempunyai sejarah menetapkan __cplusplus kepada 1, tanpa mengira versi bahasa. Isu ini telah ditangani dalam gcc 4.7.0.

MSVC

MSVC juga salah mentakrifkan __cplusplus sebagai 199711L. Untuk mendapatkan nilai yang betul, sama ada tambahkan /Zc:__cplusplus pada bendera pengkompil atau semak makro khusus MSVC _MSVC_LANG.

Nilai __cplusplus yang dijangkakan

  • C pra -C 98: 1
  • C 98: 199711L
  • C 98 TR1: Tidak boleh ditentukan menggunakan __cplusplus
  • C 11: 201103L
  • C 14: 201402L
  • C 201703L
  • C 20: 202002L
  • C 23: 202302L

Kaedah Lain

tidak tersedia jika __cplus tidak mencukupi , pendekatan lain termasuk:

  • Makro khusus pengkompil: Memeriksa makro yang ditakrifkan pengkompil mungkin mendedahkan versi standard yang dilaksanakan.
  • Boost.Config: Pustaka ini menyediakan makro untuk checkingspecificC ciri.
  • Penilaian ciri: Kod berjalan yang menggunakan ciri khusus boleh menentukan ketersediaannya dan, seterusnya, versi standard yang dilaksanakan.
Adalah penting untuk ambil perhatian bahawa tidak semua penyusun melaksanakan sepenuhnya semua ciri standard C. Pemeriksaan yang teliti terhadap keserasian pengkompil dan sokongan ciri adalah perlu untuk memastikan pelaksanaan kod yang boleh dipercayai.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Versi C Standard Penyusun Saya yang Dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan