/Zc:wchar_t (wchar_t jest typem natywnym)
Dokonywanie analizy składni wchar_t jako typu wbudowanego zgodnie ze standardem języka C++.Domyślnie opcja /Zc:wchar_t jest włączona.
/Zc:wchar_t[-]
Uwagi
Jeśli /Zc:wchar_t jest włączona, wchar_t mapuje do typu macierzystego specyficznego dla Microsoft __wchar_t.Jeśli opcja /Zc:wchar_t- (ze znakiem minus) jest określona, wchar_t mapuje do typedef dla unsigned short.(W Visual C++ 6.0 i starszych, wchar_t nie wprowadzono jako wbudowany typ, ale zadeklarowano w wchar.h jako typedef dla unsigned short.) Nie zaleca się /Zc:wchar_t-, ponieważ standard C++ wymaga, aby wchar_t był typem wbudowanym.Używanie wersji typedef może być przyczyną problemów z przenośnością.Jeśli uaktualniasz Visual C++ z wcześniejszej wersji i występuje błąd kompilatora C2664, ponieważ kod próbuje niejawnie skonwertować wchar_t na unsigned short, zalecamy zmianę kodu, aby naprawić błąd, a nie ustawienie /Zc:wchar_t-.
Microsoft implementuje wchar_t jako wartość dwubajtową bez znaku.Aby uzyskać więcej informacji dotyczących wchar_t, zobacz Zakresy typu danych i Typy podstawowe (C++).
Jeśli piszesz nowy kod, który ma współpracować z starszym kodem, nadal używającym wersji typedefwchar_t, możesz zapewniać przeciążenia zarówno odmiany unsigned short, jak i __wchar_twchar_t, dzięki czemu kod może być łączony z kodem skompilowanym z opcją /Zc:wchar_t lub bez niej.W przeciwnym razie trzeba zapewnić dwie kompilacje biblioteki — jedną z włączoną opcją /Zc:wchar_t i drugą bez niej.Nawet w tym przypadku zaleca się kompilowanie starszego kodu za pomocą tego samego kompilatora, którego używa się do kompilowania nowego kodu.Nigdy nie mieszaj plików binarnych skompilowanych różnymi kompilatorami.
Gdy określono /Zc:wchar_t, symbole _WCHAR_T_DEFINED i _NATIVE_WCHAR_T_DEFINED są zdefiniowane.Aby uzyskać więcej informacji, zobacz Wstępnie zdefiniowane makra.
Jeśli kod używa funkcji globalnych COM kompilatora, ponieważ opcja /Zc:wchar_t jest teraz domyślnie włączona, zaleca się zmianę jawnych odwołań do comsupp.lib — z dyrektywy komentarza lub w wierszu polecenia — na comsuppw.lib lub comsuppwd.lib.(Jeśli musisz kompilacji z /Zc:wchar_t-, użyj comsupp.lib.) Po dołączeniu pliku nagłówka comdef.h odpowiedniej biblioteki została określona dla Ciebie.Aby uzyskać więcej informacji na temat obsługi kompilatora COM, zobacz Obsługa kompilatora COM.
Typ wchar_t nie jest obsługiwany podczas kompilowania kodu C.Aby uzyskać więcej informacji na temat problemów ze zgodnością w Visual C++, zobacz Niestandardowe zachowanie.
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe projektu Strony właściwości.Szczegółowe informacje – zobacz: Praca z właściwościami projektu.
W lewym okienku rozwiń węzeł Właściwości konfiguracji, C/C++, a następnie wybierz Język.
Zmodyfikuj właściwość Traktuj wchar_t jako typ wbudowany.
Aby programowo ustawić tę opcję kompilatora
- Zobacz TreatWChar_tAsBuiltInType.