wint_t
유형은 __WINT_TYPE__
이 기본적으로 컴파일러에 이미 정의되어 있다는 것을 사용하여 stddef.h
을 통해 wchar.h
을 통해 설정됩니다. 그래서 우리는 wchar.h
"C++ mangling과의 호환성"이란 무엇입니까?
#undef __WINT_TYPE__
#define __WINT_TYPE__ wchar_t
#define WEOF (-1)
그러나 this 주석의 시작에서 다음 코드를 사용할 수 있습니다
typedef wchar_t wint_t;
에
typedef unsigned int wint_t;
을 변경하는 제안이이 "맹 글링 ++ C에 대한 휴식 호환성"을하고 .
당신은 당신이 동일한 크기와 부호의이 그래서 기본 유형 휴식 호환성을 변경, C에 대한 ABI 호환 경우에도 (ABI 호환성을 깨지 않고 같은 wint_t과 같은 형식 정의의 정의를 기존 변경할 수 없습니다 C++ mangling).
그래서 왜이 typedef를 변경할 수 없으며 "C++ mangling과의 호환성"은 무엇입니까? Application Binary Interface
이름 맹 글링은 컴파일이 방법 -을 나타내는 방법입니다
C++에서'wchar_t'는 분리형입니다 – Danh
즉, C 링키지의 함수에는 맹 글링의 유형이 포함되어 있지 않으므로 그러한 변경이 C++과 관련된 모든 것에 어떻게 영향을 줄 수 있는지 잘 모르겠습니다. 또한 [diff.wchar.t]을 참고하십시오; 그러한 typedef는 C++에 노출되지 않습니다. –