Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah __cplusplus ditakrifkan sebagai 199711L dalam Visual Studio 2012 walaupun sokongan C 11?

Mengapakah __cplusplus ditakrifkan sebagai 199711L dalam Visual Studio 2012 walaupun sokongan C 11?

Barbara Streisand
Barbara Streisandasal
2024-11-04 18:51:02253semak imbas

Why is __cplusplus defined as 199711L in Visual Studio 2012 despite C   11 support?

__cplusplus dalam Visual Studio 2012

Dalam Visual Studio 2012, sesetengah pembangun telah menyedari bahawa __cplusplus ditakrifkan sebagai 199711L, yang menunjukkan "lama" C standard, walaupun pada hakikatnya VS 2012 termasuk sokongan C 11.

Latar Belakang

Makro __cplusplus ialah makro prapemproses yang menyediakan versi standard C yang disokong dalam Studio Visual. Nilai 199711L sepadan dengan standard C 98, manakala 201103L akan menunjukkan sokongan C 11.

Isu

Dalam Visual Studio 2012, walaupun pengepala C 11 disertakan , __cplusplus masih ditakrifkan secara salah sebagai 199711L. Ini boleh menjadi masalah bagi kod yang bergantung pada makro __cplusplus untuk membezakan antara versi standard C.

Resolusi

Isu ini telah dilaporkan kepada Microsoft untuk semakan, dan muncul di bawah tajuk "Nilai makro __cplusplus yang dipratentukan masih 199711L."

Atas ialah kandungan terperinci Mengapakah __cplusplus ditakrifkan sebagai 199711L dalam Visual Studio 2012 walaupun sokongan C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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