execution_character_set pragma

Určuje znakovou sadu spouštění použitou pro řetězcové a znakové literály. Tato direktiva není nutná pro literály označené předponou u8 .

Syntaxe

#pragma execution_character_set( "target" )

Parametry

target
Určuje cílovou znakové sady spuštění. Aktuálně je "utf-8"podporovaná jediná cílová sada spuštění .

Poznámky

Tato direktiva kompilátoru je zastaralá v sadě Visual Studio 2015 Update 2 a novějších verzích. Doporučujeme používat /execution-charset:utf-8 možnosti nebo /utf-8 možnosti kompilátoru společně s předponou u8 u úzkých znaků a řetězcových literálů, které obsahují rozšířené znaky. Další informace o předponě u8 naleznete v tématu Řetězcové a znakové literály. Další informace o možnostech kompilátoru najdete v tématech /execution-charset (Nastavení znakové sady spouštění) a/utf-8(Nastavení zdrojových a spouštěcích znakových sad na UTF-8).

Direktiva #pragma execution_character_set("utf-8") kompilátoru říká, aby kódoval úzké znaky a úzké řetězcové literály ve zdrojovém kódu jako UTF-8 ve spustitelném souboru. Toto kódování výstupu je nezávislé na tom, jak je zdrojový soubor kódován.

Ve výchozím nastavení, když kompilátor kóduje úzké znaky a úzké řetězce, použije aktuální znakovou stránku jako spouštěcí znakovou sadu. Znaky Unicode nebo DBCS mimo rozsah aktuální znak znakové stránky se ve výstupu převedou na výchozí náhradní znak. Znaky Unicode a DBCS jsou zkráceny na bajt s nízkým pořadím, což je téměř nikdy to, co máte v úmyslu. Chcete-li zadat kódování UTF-8 pro literály ve zdrojovém souboru, použijte předponu u8 . Kompilátor předá tyto řetězce kódování UTF-8 výstupu beze změny. Úzké literály znaků s u8 předponou musí odpovídat bajtu nebo se zkrátí na výstup.

Visual Studio ve výchozím nastavení používá aktuální znakovou stránku jako zdrojovou znakovou sadu použitou k interpretaci zdrojového kódu pro výstup. Když je soubor přečtený, Visual Studio ho interpretuje podle aktuální znakové stránky, pokud soubor nemá nastavenou znakovou stránku. Nebo pokud se na začátku souboru nezjistí značka pořadí bajtů (BOM) nebo UTF-16 znaků. UTF-8 nelze nastavit jako aktuální znakovou stránku v některých verzích Windows. Když automatická detekce najde zdrojové soubory s kódováním UTF-8 bez kusovníku v těchto verzích, sada Visual Studio předpokládá, že jsou kódované na aktuální znakové stránce. Znaky ve zdrojovém souboru, které jsou mimo rozsah zadané nebo automaticky zjištěné znakové stránky, můžou způsobit upozornění a chyby kompilátoru.

Viz také

direktivy Pragma a __pragma a _Pragma klíčová slova
/execution-charset (Nastavení znakové sady spouštění)
/utf-8 (Nastavení zdrojových a spouštěcích znakových sad na UTF-8)