web-dev-qa-db-fra.com

Où est défini ptrdiff_t en C?

Où se trouve ptrdiff_t défini en C? Si ce n'est pas trivial, comment puis-je rendre ce type visible depuis GCC sous Linux?

53
Matt Joiner

Il est défini dans stddef.h.


Cet en-tête définit les types intégraux size_t, ptrdiff_t, et wchar_t, la macro fonctionnelle offsetof et la macro constante NULL.

65
GManNickG

Il est défini par la norme POSIX: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html Où le type est exactement peut être spécifique à l'implémentation, mais l'interface est stddef.h

1
Igor

Étant donné que @Good Person a déclaré que cela n'était pas spécifique à Linux, dans Microsoft Visual Studio, ptrdiff_t est défini dans:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\include\vcruntime.h

0
William Leara