Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica il set di caratteri di esecuzione utilizzato per i valori letterali stringa e carattere. Questa direttiva non è necessaria per i valori letterali contrassegnati con il u8 prefisso .
Sintassi
#pragma execution_character_set("target")
Parametri
target
Specifica il set di caratteri di esecuzione di destinazione. Attualmente l'unico set di esecuzione di destinazione supportato è "utf-8".
Osservazioni:
Questa direttiva del compilatore è obsoleta in Visual Studio 2015 Update 2 e versioni successive. È consigliabile usare le opzioni del /execution-charset:utf-8 compilatore o /utf-8 insieme al u8 prefisso sui valori letterali stringa e carattere stretto che contengono caratteri estesi. Per altre informazioni sul u8 prefisso, vedere Valori letterali stringa e carattere. Per altre informazioni sulle opzioni del compilatore, vedere /execution-charset (Impostare set di caratteri di esecuzione) e /utf-8 (Impostare set di caratteri di origine ed esecuzione su UTF-8).
La #pragma execution_character_set("utf-8") direttiva indica al compilatore di codificare valori letterali stringa ristretti e stringa stretta nel codice sorgente come UTF-8 nel file eseguibile. Questa codifica di output è indipendente dalla modalità di codifica del file di origine.
Per impostazione predefinita, quando il compilatore codifica caratteri stretti e stringhe strette, usa la tabella codici corrente come set di caratteri di esecuzione. I caratteri Unicode o DBCS non compresi nell'intervallo della tabella codici corrente vengono convertiti nel carattere di sostituzione predefinito nell'output. I caratteri Unicode e DBCS vengono troncati al loro byte di ordine basso, che non è quasi mai quello che intendi. Per specificare la codifica UTF-8 per i valori letterali nel file di origine, usare un u8 prefisso. Il compilatore passa queste stringhe con codifica UTF-8 all'output invariato. I valori letterali carattere ristretti preceduti da u8 devono essere inseriti in un byte o vengono troncati nell'output.
Per impostazione predefinita, Visual Studio usa la tabella codici corrente come set di caratteri di origine usato per interpretare il codice sorgente per l'output. Quando un file viene letto, Visual Studio lo interpreta in base alla tabella codici corrente, a meno che il file non abbia una tabella codici impostata. In alternativa, a meno che non vengano rilevati caratteri byte order mark (BOM) o UTF-16 all'inizio del file. Non è possibile impostare UTF-8 come tabella codici corrente in alcune versioni di Windows. Quando il rilevamento automatico trova i file di origine con codifica UTF-8 senza distinta base in tali versioni, Visual Studio presuppone che siano codificati nella tabella codici corrente. I caratteri nel file di origine che non rientrano nell'intervallo della tabella codici specificata o rilevata automaticamente possono causare errori e avvisi del compilatore.
Vedi anche
direttive Pragma e parole chiave __pragma e _Pragma
/execution-charset (Imposta set di caratteri di esecuzione)
/utf-8 (Impostare set di caratteri di origine ed esecuzione su UTF-8)