Compatibilidad con Unicode en el compilador y el vinculador
En este tema, se describe la compatibilidad de Unicode en las herramientas de generación de Visual C++.
Nombres de archivo
Los nombres de archivo especificados en la línea de comandos y en directivas de compilador (como #include) ahora pueden contener caracteres Unicode. En versiones anteriores de Visual C++, sólo se admitían nombres de archivo ANSI. Los caracteres distintos de ASCII se deberían evitar en los nombres de archivos de salida, para poder ejecutar una aplicación ejecutable en versiones localizadas de Windows 98 y Windows Me.Archivos de código fuente
Ahora se admiten caracteres Unicode en identificadores, macros, literales de cadena y de carácter, y en comentarios. También se admiten nombres de carácter universales.Se puede utilizar Unicode en un archivo de código fuente con las codificaciones siguientes:
UTF-16 little endian con o sin marca de orden de bytes (BOM)
UTF-16 big endian con o sin BOM
UTF-8 con BOM
Output
Durante la compilación, el compilador genera diagnósticos en la consola en UTF-16. Los caracteres que se pueden mostrar en la consola dependen de las propiedades de ventana de la consola. Los resultados del compilador redirigidos a un archivo están en la página de códigos ANSI actual de la consola.Archivos de respuesta del vinculador y archivos .DEF
Los archivos de respuesta y los archivos DEF o pueden ser UTF-16 con marca de orden de bytes o ANSI. Previamente, sólo se admitía ANSI..asm y volcados de .cod
.asm y volcados de .cod están en ANSI de manera predeterminada, por compatibilidad con MASM. Use /FAu para generar UTF-8. Tenga en cuenta que, si especifica /FAs, la fuente entremezclada se imprimirá directamente y podrá aparecer confusa, por ejemplo, si el código fuente es UTF-8 y no se ha especificado /FAsu.
Puede habilitar nombres de archivo Unicode en el entorno de desarrollo (vea Cómo: Abrir páginas de propiedades del proyecto). Para ello, seleccione la herramienta apropiada y elija la propiedad Habilitar Archivos de respuesta Unicode, que está habilitada de forma predeterminada. Una razón para cambiar esta opción predeterminada es si se modifica el entorno de desarrollo para utilizar un compilador que no es compatible con Unicode.