Malgré son nom, l'option -fextended-identifiers dans g 4.7 ne parvient pas à permettre la gamme complète de Caractères Unicode comme identifiants. Bien que cette option autorise des identifiants étendus, elle les limite aux caractères compris dans une plage spécifiée, ce qui empêche la création de noms de variables plus significatifs.
Bien qu'elle autorise les caractères compris dans la plage 10000-1FFFD dans l'annexe E.1, la norme ne ne les interdit pas comme caractères initiaux dans E.2. Cependant, g 4.7 semble ignorer cette disposition, laissant les utilisateurs incapables d'utiliser des caractères comme le ?.
Pour ajouter à la confusion, d'autres compilateurs proposent différents niveaux de prise en charge. Clang 3.3, par exemple, autorise les deux ? et U0001F603 comme identifiants avec seulement -std=c 11.
GCC a été mis à jour pour fournir une prise en charge plus large des caractères Unicode dans les identifiants depuis g 4.7 :
Cependant, il est important de noter que même avec la prise en charge étendue dans les versions ultérieures de GCC, des limitations existent toujours. L'option -fextended-identifiers reste expérimentale et peut ne pas fonctionner comme prévu.
Bien que les caractères Unicode puissent améliorer la lisibilité et l'expressivité des identifiants, leur prise en charge dans g reste limitée. Les utilisateurs peuvent rencontrer des incohérences et des restrictions lorsqu'ils tentent d'utiliser des caractères Unicode comme identifiants. Pour une compatibilité optimale entre compilateurs, il est conseillé de respecter les conventions de dénomination standard qui évitent les caractères Unicode jusqu'à ce qu'une prise en charge plus large soit établie.
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!