GNU/Linux >> Tutoriels Linux >  >> Linux

Où est défini ssize_t sous Linux ?

Depuis la version 5.9, les types de données du système de documentation des pages de manuel de Linux vous permettent de trouver facilement ces informations de manière centralisée.

Tapez simplement man ssize_t :

ssize_t(3type)      Linux Programmer’s Manual     ssize_t(3type)

NAME
       ssize_t - count of bytes or an error indication

LIBRARY
       Standard C library (libc)

SYNOPSIS
       #include <sys/types.h>

       typedef /* ... */ ssize_t;

DESCRIPTION
       Used  for  a  count of bytes or an error indication.  Ac‐
       cording to POSIX, it shall be a signed integer type capa‐
       ble  of  storing  values  at  least  in  the  range  [-1,
       SSIZE_MAX],  and  the implementation shall support one or
       more programming environments where the width of  ssize_t
       is no greater than the width of the type long.

       Glibc  and  most  other  implementations provide a length
       modifier for ssize_t for the printf(3) and  the  scanf(3)
       families  of functions, which is z; resulting commonly in
       %zd or %zi for printing ssize_t values.  Although z works
       for ssize_t on most implementations, portable POSIX  pro‐
       grams  should  avoid  using it—for example, by converting
       the value to intmax_t and using its length modifier (j).

VERSIONS
       <aio.h>, <mqueue.h>,  and  <sys/socket.h>  define  ssize_t
       since POSIX.1‐2008.

CONFORMING TO
       POSIX.1‐2001 and later.

NOTES
       The  following  headers  also provide this type: <aio.h>,
       <monetary.h>,   <mqueue.h>,    <stdio.h>,    <sys/msg.h>,
       <sys/socket.h>, <sys/uio.h>, and <unistd.h>.

SEE ALSO
       read(2),   readlink(2),   readv(2),   recv(2),   send(2),
       write(2), ptrdiff_t(3type), size_t(3type)

Linux                      2022‐06‐17             ssize_t(3type)

Si vous voulez juste ssize_t , vous devez inclure <sys/types.h> , qui est son en-tête canonique, et probablement le plus léger qui fournit ssize_t . Cependant, il est fourni par n'importe lequel des en-têtes documentés, donc si vous avez également besoin d'une définition dans l'un de ces autres en-têtes, vous pouvez inclure cet autre en-tête uniquement.


ssize_t est défini dans sys/types.h .

Selon la documentation POSIX :

NOM

sys/types.h - types de données

SYNOPSIS

#include <sys/types.h>

DESCRIPTION

L'en-tête doit définir au moins les types suivants :

...

ssize_t

Utilisé pour un décompte d'octets ou une indication d'erreur.


Linux
  1. Les administrateurs système Linux veulent savoir :où est passé mon espace disque ?

  2. Linux - Où est stocké un sémaphore nommé ??

  3. Où est la fonction itoa sous Linux ?

  4. Où se trouve le système de fichiers du sous-système Linux dans Windows 10 ?

  5. Comment savoir où un programme est bloqué sous Linux ?

Commande W sous Linux

À la commande sous Linux

Linux - Où la chaîne d'environnement est-elle réellement stockée ?

Où se trouve le fichier php.ini sur un PC Linux/CentOS ?

Où placer le script d'auto-complétion zsh sous Linux ?

Où est la déclaration de dépréciation d'ifconfig (sur linux) ?