Где ptrdiff_t
, определенный в C? Если нетривиальный, как я могу сделать этот тип видимым из GCC в Linux?Где ptrdiff_t, определенный в C?
ответ
Он определен в stddef.h
.
Этот заголовок определяет интегральные типы size_t
, ptrdiff_t
и wchar_t
, функциональная макро offsetof
и макрокоманда NULL
.
Bizarrely, он находится по адресу 'linux/stddef.h' (но включает в себя штраф с' #include
И из них только 'ptrdiff_t' и' offsetof' не определены ни в одном другом месте, а остальные три также определены рядом других заголовков. –
@Matt: Нет никакого определения 'ptrdiff_t' вообще? Строго говоря, компилятору не нужно ничего внедрять в заголовке. Можно было бы просто заметить, что если включен' stddef.h', он будет внутренне определить 'ptrdiff_t' и т. д. Это может быть так, но у меня нет вашей версии заголовка, доступного для просмотра. – GManNickG
Обратите внимание, что этот вопрос совсем не специфичен для Linux. –