식별자의 유니코드 문자: G의 제한 사항
-fextended-identifiers 옵션을 활성화했음에도 불구하고 G 4.7에서는 특정 유니코드 문자의 사용을 금지합니다. , 웃는 얼굴 기호(☺)를 식별자로 포함합니다. 이 제한은 식별자의 UTF-8 문자 지원 부족으로 인해 발생합니다.
식별자를 범용 문자 이름(U0001F603)으로 변환하는 경우에도 컴파일러가 여전히 실패합니다. 이는 G가 C99 및 C 98 표준을 기반으로 ucnid.tab에 정의된 대로 식별자에 대해 제한된 문자 집합만 지원하기 때문입니다.
게다가 -fextended-identifiers 옵션은 아직 실험적이며 그렇지 않을 수도 있습니다. 의도한 대로 작동합니다. 이러한 제한 사항을 해결하기 위해 G는 버전 4.9.0에서 C11 문자 집합에 대한 지원을 도입했습니다. 이를 통해 U0001F603을 포함하여 BMP 범위 내의 문자를 사용할 수 있습니다.
그러나 -finput-charset=UTF-8을 사용하더라도 ☺와 같은 일부 유니코드 문자에서 문제가 지속됩니다. 이 문제를 추적하기 위해 버그 보고서가 제출되었습니다.
반면 Clang 3.3은 특별한 옵션 없이 원래 식별자(☺)와 범용 문자 이름(U0001F603)을 모두 성공적으로 처리합니다.
위 내용은 G가 -fextended-identifier를 사용하더라도 식별자의 일부 유니코드 문자를 여전히 제한하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!