其实 c11 标准里面就有写了,但似乎 gcc 不支持. 有了这个功能可以搞些很奇怪的东西,例如 C in Chinese: https://github.com/thefangbear/yiic 测试了下,clang 支持的很好.
参考: 1 - gcc wiki : GCC only supports UCNs but not Unicode macro names: https://gcc.gnu.org/PR67224
2 - https://gcc.gnu.org/wiki/FAQ#What_is_the_status_of_adding_the_UTF-8_support_for_identifier_names_in_GCC.3F
3 - http://stackoverflow.com/questions/32799078/why-doesnt-these-unicode-variable-names-work-with-fextended-identifiers
4 - http://stackoverflow.com/questions/12692067/and-other-unicode-characters-in-identifiers-not-allowed-by-g?noredirect=1&lq=1
5 - http://stackoverflow.com/questions/4739776/c-universal-macro-names-gcc-fextended-identifiers?noredirect=1&lq=1
6 - http://stackoverflow.com/a/34315237