2010-08-30 15 views
48

Где ptrdiff_t, определенный в C? Если нетривиальный, как я могу сделать этот тип видимым из GCC в Linux?Где ptrdiff_t, определенный в C?

+2

Обратите внимание, что этот вопрос совсем не специфичен для Linux. –

ответ

62

Он определен в stddef.h.


Этот заголовок определяет интегральные типы size_t, ptrdiff_t и wchar_t, функциональная макро offsetof и макрокоманда NULL.

+0

Bizarrely, он находится по адресу 'linux/stddef.h' (но включает в себя штраф с' #include '. Он содержит только определение для' NULL' (но в том числе это дает мне 'ptrdiff_t'). что мешало мне в первую очередь успеть. Можете ли вы просветить? –

+1

И из них только 'ptrdiff_t' и' offsetof' не определены ни в одном другом месте, а остальные три также определены рядом других заголовков. –

+0

@Matt: Нет никакого определения 'ptrdiff_t' вообще? Строго говоря, компилятору не нужно ничего внедрять в заголовке. Можно было бы просто заметить, что если включен' stddef.h', он будет внутренне определить 'ptrdiff_t' и т. д. Это может быть так, но у меня нет вашей версии заголовка, доступного для просмотра. – GManNickG

 Смежные вопросы

  • Нет связанных вопросов^_^