C中的`rune_t`类型代表什么?

时间:2018-06-23 10:15:08

标签: c types freebsd

浏览我的GCC标头stddef.h时,我遇到了一种从未听说过的类型rune_t

#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
#if __BSD_VISIBLE
#ifndef _RUNE_T_DECLARED
typedef __rune_t        rune_t;     /* <--- Here it is */
#define _RUNE_T_DECLARED
#endif
#endif
#endif
#endif

根据周围的#if,我猜它是FreeBSD特定的类型,但是它代表什么呢?

奖金问题:与runic alphabet有什么关系?

1 个答案:

答案 0 :(得分:5)

  

符文

     

不推荐使用4.4BSD rune函数,而支持ISO C99扩展的多字节和宽字符功能,因此不应在新的应用程序中使用。考虑使用setlocale(3),mbrtowc(3),wcrtomb(3),fgetwc(3),ungetwc(3)和fputwc(3)。

它曾经是处理扩展字符集的东西。外来字符有时被戏称为“符文”,因此得名。这种类型可能支持也可能不支持实际的符文字母。