Supporto Unicode nel compilatore e nel linker
La maggior parte degli strumenti di compilazione Microsoft C/C++ (MSVC) supporta input e output Unicode.
Nomi di file
I nomi file specificati nella riga di comando o nelle direttive del compilatore (ad esempio #include
) possono contenere caratteri Unicode.
File di codice sorgente
I caratteri Unicode sono supportati negli identificatori, nelle macro, nei valori letterali stringa e carattere e nei commenti. Sono supportati anche i nomi di caratteri universali.
Unicode può essere immesso in un file di codice sorgente nelle codifiche seguenti:
UTF-16 little endian con o senza byte order mark (BOM)
UTF-16 big endian con o senza BOM
UTF-8 con BOM
Nell'IDE di Visual Studio è possibile salvare i file in diversi formati di codifica, inclusi quelli Unicode. Salvarli nella finestra di dialogo Salva file con nome usando l'elenco a discesa sul pulsante Salva . Selezionare Salva con codifica nell'elenco a discesa. Quindi, nella finestra di dialogo Opzioni di salvataggio avanzate selezionare una codifica dall'elenco a discesa. Scegliere OK per salvare il file.
Output
Durante la compilazione, il compilatore restituisce la diagnostica alla console in UTF-16. I caratteri che possono essere visualizzati nella console dipendono dalle proprietà della finestra della console. L'output del compilatore reindirizzato a un file si trova nella tabella codici della console ANSI corrente.
File e .DEF
file di risposta del linker
I file e .DEF
i file di risposta possono essere UTF-16 o UTF-8 con bom o ANSI.
.asm
dump e .cod
.asm
i dump e .cod
sono in ANSI per impostazione predefinita per la compatibilità con MASM. Usare /FAu
per restituire UTF-8.
Se si specifica /FAs
, l'origine indeterminato viene stampata direttamente. Può sembrare incomprensibile, ad esempio, quando il codice sorgente è UTF-8 e non è stato specificato /FAsu
.