ホームページ > バックエンド開発 > C++ > -fextended-identifier を使用しても G が識別子の一部の Unicode 文字を制限するのはなぜですか?

-fextended-identifier を使用しても G が識別子の一部の Unicode 文字を制限するのはなぜですか?

Linda Hamilton
リリース: 2024-11-10 09:53:02
オリジナル
422 人が閲覧しました

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

識別子の Unicode 文字: G の制限

-fextended-identifiers オプションを有効にしても、G 4.7 では特定の Unicode 文字の使用が禁止されています。 、笑顔の記号 (☺) を識別子として含めます。この制限は、識別子で UTF-8 文字がサポートされていないことが原因です。

識別子をユニバーサル文字名 (U0001F603) に変換する場合でも、コンパイラは依然として失敗します。これは、C99 および C98 標準に基づいて、ucnid.tab で定義されているように、G が識別子の制限された文字セットのみをサポートしているためです。

さらに、-fextended-identifiers オプションはまだ実験段階であり、サポートされない可能性があります。意図したとおりに機能します。この制限に対処するために、G はバージョン 4.9.0 で C11 文字セットのサポートを導入しました。これにより、U0001F603 などの BMP 範囲内の文字の使用が許可されます。

ただし、-finput-charset=UTF-8 を使用しているにもかかわらず、☺ などの一部の Unicode 文字では問題が解決されません。この問題を追跡するためにバグ レポートが提出されました。

対照的に、Clang 3.3 は、特別なオプションを使用せずに、元の識別子 (☺) とユニバーサル キャラクター名 (U0001F603) の両方を正常に処理します。

以上が-fextended-identifier を使用しても G が識別子の一部の Unicode 文字を制限するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート