Maison > développement back-end > C++ > Pourquoi G restreint-il toujours certains caractères Unicode dans les identifiants même avec des identifiants -fextended ?

Pourquoi G restreint-il toujours certains caractères Unicode dans les identifiants même avec des identifiants -fextended ?

Linda Hamilton
Libérer: 2024-11-10 09:53:02
original
418 Les gens l'ont consulté

Why Does G   Still Restrict Some Unicode Characters in Identifiers Even With -fextended-identifiers?

Caractères Unicode dans les identifiants : restrictions dans G

Malgré l'activation de l'option -fextended-identifiers, G 4.7 interdit l'utilisation de certains caractères Unicode , y compris le symbole du visage souriant (☺), comme identifiants. Cette limitation provient du manque de prise en charge des caractères UTF-8 dans les identifiants.

Même lors de la conversion de l'identifiant en son nom de caractère universel (U0001F603), le compilateur échoue toujours. En effet, G ne prend en charge qu'un ensemble restreint de caractères pour les identifiants, tel que défini dans ucnid.tab, basé sur les normes C99 et C 98.

De plus, l'option -fextended-identifiers est encore expérimentale et peut ne pas fonctionner comme prévu. Pour répondre à cette restriction, G a introduit la prise en charge du jeu de caractères C11 dans la version 4.9.0. Cela permet l'utilisation de caractères dans la plage BMP, y compris U0001F603.

Cependant, malgré l'utilisation de -finput-charset=UTF-8, le problème persiste avec certains caractères Unicode, tels que ☺. Un rapport de bug a été déposé pour suivre ce problème.

En revanche, Clang 3.3 gère avec succès à la fois l'identifiant d'origine (☺) et le nom de caractère universel (U0001F603) sans aucune option spéciale.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal