/Zc:wchar_t (wchar_t Yerel Tür)
C++ standardına göre yerleşik bir tür olarak ayrıştırın wchar_t
.
Sözdizimi
/Zc:wchar_t[-]
Açıklamalar
/Zc:wchar_t açıksa, wchar_t
C++ olarak derlenmiş koddaki yerleşik tam sayı türü için anahtar sözcüktür. /Zc:wchar_t- (eksi işaretiyle) belirtilirse veya C wchar_t
olarak derlenmiş kodda yerleşik bir tür değildir. Bunun yerine, wchar_t
stddef.h kurallı üst bilgisinde için unsigned short
olarak typedef
tanımlanır. (Microsoft uygulaması bunu stddef.h ve diğer standart üst bilgiler tarafından eklenen başka bir üst bilgide tanımlar.)
C++ standardının yerleşik bir tür olmasını gerektirdiğinden wchar_t
/Zc:wchar_t- önerilmez. Sürümü kullanmak typedef
taşınabilirlik sorunlarına neden olabilir. Visual Studio'nun önceki sürümlerinden yükseltme yaparsanız ve kod örtük olarak 'wchar_t
unsigned short
yi öğesine dönüştürmeye çalıştığından derleyici hatası C2664 ile karşılaşırsanız, /Zc:wchar_t- ayarı yerine hatayı düzeltmek için kodu değiştirmenizi öneririz.
C++ derlemelerinde /Zc:wchar_t seçeneği varsayılan olarak açıktır ve C derlemelerinde yoksayılır. /permissive- seçeneği /Zc:wchar_t etkilemez.
Microsoft, iki baytlık imzasız bir değer olarak uygular wchar_t
. Microsoft'a özgü yerel türüyle __wchar_t
eşler. hakkında wchar_t
daha fazla bilgi için bkz . Veri Türü Aralıkları ve Temel Türler.
sürümünü kullanmaya typedef
devam eden eski kodlarla birlikte çalışmak zorunda olan yeni kod yazarsanız, kodunuzun /Zc:wchar_t ile derlenmiş kodla veya bu kod olmadan derlenmiş kodla bağlanabilmesi için hem de unsigned short
__wchar_t
varyasyonları wchar_t
için aşırı yüklemeler sağlayabilirsinizwchar_t
. Aksi takdirde, biri ile diğeri /Zc:wchar_t etkinleştirilmemiş olmak üzere kitaplığın iki farklı derlemesini sağlamanız gerekir. Bu durumda bile, eski kodu yeni kodu derlerken kullandığınız derleyicinin aynısını kullanarak oluşturmanızı öneririz. Farklı derleyicilerle derlenmiş ikili dosyaları kesinlikle karıştırmayın.
/Zc:wchar_t belirtildiğinde, _WCHAR_T_DEFINED ve _NATIVE_WCHAR_T_DEFINED simgeleri tanımlanır. Daha fazla bilgi için bkz . Önceden Tanımlanmış Makrolar.
/Zc:wchar_t artık varsayılan olarak açık olduğundan kodunuz derleyici COM genel işlevlerini kullanıyorsa, comsupp.lib için açık başvuruları (açıklama pragmasından veya komut satırından) comsuppw.lib veya comsuppwd.lib olarak değiştirmenizi öneririz. (/Zc:wchar_t- ile derlemeniz gerekiyorsa comsupp.lib kullanın.) comdef.h üst bilgi dosyasını eklerseniz, sizin için doğru kitaplık belirtilir. Derleyici COM desteği hakkında bilgi için bkz . Derleyici COM Desteği.
wchar_t
C kodunu derlerken yerleşik tür desteklenmez. Visual C++ ile ilgili uyumluluk sorunları hakkında daha fazla bilgi için bkz . Standart Dışı Davranış.
Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.
Yapılandırma Özellikleri>C/C++>Dil sayfasını seçin.
Treat wchar_t As Built-In Type özelliğini değiştirin.