Что означает тип "руна т" в языке с?
Просматривая мой заголовок 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
s, Я предполагаю, что это специфический тип FreeBSD, но что он представляет?
Бонусный вопрос: имеет ли он какое-либо отношение к руническому алфавиту?
1 ответ:
Руна человека
Функции 4.4 BSD
rune
были отвергнуты в пользу расширенных многобайтовых и широкосимвольных средств ISO C99 и не должны использоваться в новых приложениях. Вместо этого можно использовать setlocale (3), mbrtowc(3), wcrtomb(3), fgetwc(3), ungetwc(3) и fputwc(3).Раньше это было что-то, что имеет дело с расширенными наборами символов. Экзотические символы иногда в шутку называют "рунами", отсюда и название. Этот тип может поддерживать или не поддерживать настоящий рунический алфавит.