GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wo ist ssize_t in Linux definiert?

Seit Version 5.9 dokumentieren die Man-Pages von Linux Systemdatentypen, sodass Sie diese Informationen einfach und zentralisiert finden können.

Geben Sie einfach man ssize_t ein :

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)

Wenn Sie nur ssize_t wollen , sollten Sie <sys/types.h> einfügen , das ist der kanonische Header und wahrscheinlich der leichteste, der ssize_t bereitstellt . Sie wird jedoch von jedem der dokumentierten Header bereitgestellt. Wenn Sie also zufällig auch eine Definition in einem dieser anderen Header benötigen, können Sie nur diesen anderen Header einschließen.


ssize_t ist in sys/types.h definiert .

Gemäß der POSIX-Dokumentation:

NAME

sys/types.h - Datentypen

SYNOPSIS

#include <sys/types.h>

BESCHREIBUNG

Der Header muss mindestens die folgenden Typen definieren:

...

ssize_t

Wird für eine Anzahl von Bytes oder eine Fehleranzeige verwendet.


Linux
  1. Linux – Wo wird ein benanntes Semaphor gespeichert?

  2. Kali Linux 1.0.5 und Software Defined Radio

  3. Wo ist die Itoa-Funktion in Linux?

  4. Benutzerdefinierte Linux-GUI:Wo soll ich anfangen?

  5. Wo ist PATH_MAX in Linux definiert?

W-Befehl unter Linux

Bei Befehl unter Linux

Linux – Wo wird der Environment-String tatsächlich gespeichert?

Wo ist die php.ini-Datei auf einem Linux/CentOS-PC?

Wo soll das zsh-Autocompletion-Skript unter Linux platziert werden?

Wo ist die Erklärung zur Ablehnung von ifconfig (unter Linux)?