Rumah > pembangunan bahagian belakang > C++ > 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
Lepaskan: 2024-11-04 18:51:02
asal
338 orang telah melayarinya

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 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan