GNU/Linux >> Linux Esercitazione >  >> Linux

Dove è definito ssize_t in Linux?

Dalla versione 5.9, le pagine man di Linux documentano i tipi di dati di sistema, in modo da poter trovare facilmente queste informazioni in modo centralizzato.

Basta digitare 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)

Se vuoi solo ssize_t , dovresti includere <sys/types.h> , che è la sua intestazione canonica, e probabilmente la più leggera che fornisce ssize_t . Tuttavia, è fornito da una qualsiasi delle intestazioni documentate, quindi se ti capita di aver bisogno anche di una definizione in una di queste altre intestazioni, puoi includere solo quell'altra intestazione.


ssize_t è definito in sys/types.h .

Secondo la documentazione POSIX:

NOME

sys/types.h - tipi di dati

SINOSSI

#include <sys/types.h>

DESCRIZIONE

L'intestazione deve definire almeno i seguenti tipi:

...

ssize_t

Utilizzato per un conteggio di byte o un'indicazione di errore.


Linux
  1. Linux:dove viene archiviato un semaforo denominato??

  2. Dove è definito PATH_MAX in Linux?

  3. Dove memorizza Linux il mio syslog?

  4. Dove si trova il filesystem del sottosistema Linux in Windows 10?

  5. Come sapere dove è bloccato un programma in Linux?

Comando W in Linux

Al comando in Linux

Linux:dove viene effettivamente memorizzata la stringa dell'ambiente?

Dov'è il file php.ini su un PC Linux/CentOS?

Dove posizionare lo script di completamento automatico zsh su Linux?

Linux:dove mettere il file di scambio