Caractères Unicode dans les identifiants : prise en charge dans g
Malgré la disponibilité de l'option -fextended-identifiers, les versions g jusqu'à 4.8 ne le font pas autoriser l'utilisation de caractères extérieurs au plan multilingue de base (BMP) dans les identifiants. Cela inclut des caractères tels que l'emoji ?.
La norme autorise les caractères compris entre 10 000 et 1FFFD dans le cadre des identifiants, mais la prise en charge de g est limitée à un plus petit ensemble de caractères défini dans le fichier ucnid.tab. .
L'option -fextended-identifiers est expérimentale et sa prise en charge varie selon les différentes versions de g. À partir de la version 4.9.0, g prend en charge le jeu de caractères C11, qui inclut l'emoji U0001F603 utilisé dans le deuxième exemple de code.
Cependant, même dans g 8.2, en utilisant le ? emoji dans un identifiant entraîne une erreur. Cela suggère que la prise en charge complète des caractères Unicode dans les identifiants peut ne pas être disponible dans toutes les configurations.
D'autres compilateurs, tels que Clang 3.3, offrent une meilleure prise en charge des caractères Unicode dans les identifiants. Les deux exemples de code fonctionnent sans aucune option supplémentaire lorsqu'ils sont compilés avec Clang à l'aide de la norme -std=c 11.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!