在浏览我的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
根据周围的#ifs,我猜它是FreeBSD特有的类型,但它代表什么?
奖金问题:它与符文字母有什么关系吗?
男人符文
4.4BSD
rune函数已被弃用,有利于ISO C99扩展的多字节和宽字符设施,不应在新应用程序中使用.考虑使用setlocale(3),mbrtowc(3),wcrtomb(3),fgetwc(3),ungetwc(3)和fputwc(3).
它曾经是处理扩展字符集的东西.外来人物有时被称为"符文",因此得名.此类型可能支持也可能不支持实际的符文字母.