Aracılığıyla paylaş


/Zc (Uyumluluk)

/Zc Standart veya Microsoft'a özgü derleyici davranışını belirtmek için derleyici seçeneklerini kullanın.

Sözdizimi

/Zc:option{,option ...}

Tek /Zc bir derleyici seçeneğinde virgülle ayrılmış birden çok /Zc seçenek ayarlayabilirsiniz. Aynı komutta bir /Zc seçenek etkinleştirilir ve devre dışı bırakılırsa, son görüntülenen seçenek kullanılır.

Açıklamalar

Visual Studio, C veya C++ için standartla uyumlu olmayan bir uzantı uyguladığında, standart veya Microsoft'a özgü davranışı belirtmek için bir /Zc uyumluluk seçeneği kullanabilirsiniz. Bazı seçeneklerde, var olan kodda büyük ölçekli hataya neden olan değişiklikleri önlemek için Microsoft'a özgü davranış varsayılandır. Diğer durumlarda, güvenlik, performans veya uyumluluk iyileştirmelerinin hataya neden olan değişikliklerin maliyetlerine ağır bastığı standart davranış varsayılandır. Visual Studio'nun yeni sürümlerinde her uyumluluk seçeneğinin varsayılan ayarı değişebilir. Her uyumluluk seçeneği hakkında daha fazla bilgi için belirli seçeneğin makalesine bakın. Derleyici /permissive- seçeneği, varsayılan olarak ayarlanmamış uyumluluk seçeneklerini örtük olarak uyumlu ayarlarına ayarlar.

Derleyici seçenekleri şunlardır /Zc :

Seçenek Davranış
/Zc:__cplusplus[-] __cplusplus Desteklenen standardı raporlamak için makroyu etkinleştirin. Varsayılan olarak kapalı.
/Zc:__STDC__ C standardının __STDC__ bildirilebilmesi için makronun etkinleştirilmesi desteklenir. Varsayılan olarak kapalı.
/Zc:alignedNew[-] C++17 üzerine hizalanmış dinamik ayırmayı etkinleştirin. Veya daha sonraki bir sürüm belirtilmediği sürece /std:c++17 varsayılan olarak kapalıdır.
/Zc:auto[-] için autoyeni Standart C++ anlamını zorunlu kılma. Varsayılan olarak açık.
/Zc:char8_t[-] C++20 yerel u8 değişmez değer desteğini olarak const char8_tetkinleştirin veya devre dışı bırakın. Veya daha sonraki bir sürüm belirtilmediği sürece /std:c++20 varsayılan olarak kapalıdır.
/Zc:checkGwOdr[-] altında Standart C++ ODR ihlallerini zorunlu kılma /Gw.
/Zc:enumTypes[-] Tür kesintisi için enum Standart C++ kurallarını etkinleştirin. Varsayılan olarak kapalı.
/Zc:externC[-] İşlevler için extern "C" Standart C++ kurallarını zorunlu kılma. Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:externConstexpr[-] Değişkenler için constexpr dış bağlantıyı etkinleştirin. Varsayılan olarak kapalı.
/Zc:forScope[-] Standart C++ for kapsam kurallarını zorunlu kılma. Varsayılan olarak açık.
/Zc:gotoScope[-] Yerel değişken başlatması için Standart C++ goto kurallarını zorunlu kılma. Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:hiddenFriend[-] Standart C++ gizli arkadaş kurallarını zorunlu kılma. Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:implicitNoexcept[-] Gerekli işlevlerde örtük noexcept olarak etkinleştirin. Varsayılan olarak açık.
/Zc:inline[-] Başvurulmayan işlevleri veya verileri COMDAT ise veya yalnızca iç bağlantı varsa kaldırın. Varsayılan olarak kapalı.
/Zc:lambda[-] Genel lambdalarda uyumluluk modu sağlam denetimler için yeni lambda işlemcisini etkinleştirin. Veya daha sonraki bir sürüm belirtilmediği sürece /std:c++20 varsayılan olarak kapalıdır.
/Zc:noexceptTypes[-] C++17 noexcept kurallarını zorunlu kılma. Veya daha sonraki bir sürüm belirtilmediği sürece /std:c++17 varsayılan olarak kapalıdır.
/Zc:nrvo[-] İsteğe bağlı kopyalama ve taşıma imlerini etkinleştirin. , /permissive-veya /std:c++20 üzeri belirtilmediği sürece /O2varsayılan olarak kapalıdır.
/Zc:preprocessor[-] Yeni uyumlu önişlemciyi kullanın. Veya daha sonraki bir sürüm belirtilmediği sürece /std:c11 varsayılan olarak kapalıdır.
/Zc:referenceBinding[-] UDT geçici değeri olmayan bir lvalue başvurusuna bağlanmaz. Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:rvalueCast[-] Standart C++ açık tür dönüştürme kurallarını zorunlu kılma. Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:sizedDealloc[-] C++14 genel boyutlu serbest bırakma işlevlerini etkinleştirin. Varsayılan olarak açık.
/Zc:strictStrings[-] Dize değişmez değeri olan veya wchar_t* dönüştürmeyi char* devre dışı bırakın. Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:static_assert[-] katı işleme.static_assert Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:templateScope[-] Standart C++ şablon parametresi gölgelendirme kurallarını zorunlu kılma. Varsayılan olarak kapalı.
/Zc:ternary[-] İşlenen türlerinde koşullu işleç kurallarını zorunlu kılma. Belirtilmediği sürece /permissive- varsayılan olarak kapalıdır.
/Zc:threadSafeInit[-] İş parçacığı güvenli yerel statik başlatmayı etkinleştirin. Varsayılan olarak açık.
/Zc:throwingNew[-] Hataya neden olduğunu varsayalım operator new . Varsayılan olarak kapalı.
/Zc:tlsGuards[-] TLS değişken başlatması için çalışma zamanı denetimleri oluşturma. Varsayılan olarak açık.
/Zc:trigraphs[-] Trigrafları etkinleştirin (varsayılan olarak eski, kapalı).
/Zc:twoPhase- Uyumsuz şablon ayrıştırma davranışını kullanın (yalnızca belirtildiğinde /permissive- geçerlidir ve varsayılan olarak uyumlu olur).
/Zc:wchar_t[-] wchar_t typedef değil yerel bir türdür. Varsayılan olarak açık.
/Zc:zeroSizeArrayNew[-] 0 boyutlu nesne dizileri için üye new/delete çağırın. Varsayılan olarak açık.

MSVC'deki uyumluluk sorunları hakkında daha fazla bilgi için bkz . Standart dışı davranış.

Ayrıca bkz.

MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi