# German translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Martin Eberhard Schauer , 2012. # Mario Blättermann , 2014. # Helge Kreutzmann , 2017, 2019-2023. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.19.0\n" "POT-Creation-Date: 2024-06-01 06:01+0200\n" "PO-Revision-Date: 2023-08-15 18:11+0200\n" "Last-Translator: Helge Kreutzmann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "malloc" msgstr "malloc" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2. Mai 2024" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "BEZEICHNUNG" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "malloc, free, calloc, realloc, reallocarray - allocate and free dynamic " "memory" msgstr "" "malloc, free, calloc, realloc, reallocarray - dynamischen Speicher belegen " "und freigeben" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTHEK" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "Standard-C-Bibliothek (I, I<-lc>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "ÜBERSICHT" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Estdlib.hE>\n" msgstr "B<#include Estdlib.hE>\n" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "BIB<);>\n" "BIB<);>\n" "BIB<, size_t >IB<);>\n" "BIB<, size_t >IB<);>\n" "BIB<, size_t >IB<, size_t >IB<);>\n" msgstr "" "BIB<);>\n" "BIB<);>\n" "BIB<, size_t >IB<);>\n" "BIB<, size_t >IB<);>\n" "BIB<, size_t >IB<, size_t >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Feature Test Macro Requirements for glibc (see B(7)):" msgstr "" "Mit Glibc erforderliche Feature-Test-Makros (siehe " "B(7)):" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B():" msgstr "B():" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" " Since glibc 2.29:\n" " _DEFAULT_SOURCE\n" " glibc 2.28 and earlier:\n" " _GNU_SOURCE\n" msgstr "" " Seit Glibc 2.29:\n" " _DEFAULT_SOURCE\n" " Glibc 2.28 und älter:\n" " _GNU_SOURCE\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "malloc()" msgstr "malloc()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function allocates I bytes and returns a pointer to " "the allocated memory. I. If I is 0, " "then B() returns a unique pointer value that can later be " "successfully passed to B(). (See \"Nonportable behavior\" for " "portability issues.)" msgstr "" "Die Funktion B() belegt I Byte und gibt einen Zeiger auf den " "belegten Speicherbereich zurück. I. " "Falls I 0 ist, wird B() einen eindeutigen Zeigerwert " "zurückgeben, der später erfolgreich an B() übergeben werden kann. " "(Siehe »Nichtportables Verhalten« für Portabilitäts-Probleme.)" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "free()" msgstr "free()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function frees the memory space pointed to by I, which " "must have been returned by a previous call to B() or related " "functions. Otherwise, or if I has already been freed, undefined " "behavior occurs. If I is NULL, no operation is performed." msgstr "" "B() gibt den Speicher frei, auf den I zeigt, welcher von einem " "früheren Aufruf von B() oder verwandten Funktionen belegt worden " "sein muss. Andernfalls oder wenn I bereits freigegeben wurde, ist " "das Verhalten nicht definiert. Wenn I NULL ist, wird keine Operation " "ausgeführt." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "calloc()" msgstr "calloc()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function allocates memory for an array of I elements " "of I bytes each and returns a pointer to the allocated memory. The " "memory is set to zero. If I or I is 0, then B() " "returns a unique pointer value that can later be successfully passed to " "B()." msgstr "" "Die Funktion B() belegt Speicher für ein Feld von I Elementen " "der jeweiligen Größe I und liefert einen Zeiger auf den belegten " "Speicher zurück. Der Speicher wird auf 0 gesetzt. Falls I oder " "I 0 ist, wird B() einen eindeutigen Zeigerwert zurückgeben, " "der später erfolgreich an B() übergeben werden kann." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the multiplication of I and I would result in integer " "overflow, then B() returns an error. By contrast, an integer " "overflow would not be detected in the following call to B(), with " "the result that an incorrectly sized block of memory would be allocated:" msgstr "" "Falls die Multiplikation von I und I zu einem Ganzzahlüberlauf " "führen würde, dann liefert B() einen Fehler zurück. Im Gegensatz " "dazu würde ein Ganzzahlüberlauf in dem nachfolgenden Aufruf von B() " "nicht erkannt werden, was zu einer Zuweisung eines Speicherblocks mit " "falscher Größe führen würde:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "malloc(nmemb * size);\n" msgstr "malloc(nmemb * Größe);\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "realloc()" msgstr "realloc()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function changes the size of the memory block pointed to " "by I to I bytes. The contents of the memory will be unchanged in " "the range from the start of the region up to the minimum of the old and new " "sizes. If the new size is larger than the old size, the added memory will " "I be initialized." msgstr "" "B() ändert die Größe des Speicherblocks, auf den I zeigt, " "auf I Byte. Der Inhalt des Speichers bleibt im Bereich vom Anfang des " "Speicherbereichs bis zum Minimum von alter und neuer Größe unverändert. " "Falls die neue Größe die alte überschreitet, wird der zusätzliche Speicher " "I initialisiert." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is NULL, then the call is equivalent to I, for all " "values of I." msgstr "" "Falls I gleich NULL ist, ist der Aufruf äquivalent zu " "I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is equal to zero, and I is not NULL, then the call is " "equivalent to I (but see \"Nonportable behavior\" for portability " "issues)." msgstr "" "falls die Größe gleich Null und I von NULL verschieden ist, ist der " "Aufruf äquivalent zu I (siehe aber »Nichtportables Verhalten« " "für Portabilitäts-Probleme.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Unless I is NULL, it must have been returned by an earlier call to " "B or related functions. If the area pointed to was moved, a " "I is done." msgstr "" "Wenn I nicht NULL ist, muss er von einem früheren Aufruf von " "B() oder verwandten Funktionen zurückgegeben worden sein. Falls der " "Bereich, auf den verwiesen wurde, verschoben wurde, wird I " "aufgerufen." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "reallocarray()" msgstr "reallocarray()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function changes the size of (and possibly moves) " "the memory block pointed to by I to be large enough for an array of " "I elements, each of which is I bytes. It is equivalent to the " "call" msgstr "" "Die Funktion B() ändert die Größe des Speicherblocks, auf den " "I zeigt, (und verschiebt ihn möglicherweise,) damit er groß genug " "für ein Feld von I Elementen mit jeweils I Byte ist. Sie ist " "äquivalent zu dem Aufruf:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "realloc(ptr, nmemb * size);\n" msgstr "realloc(zeiger, nmemb * Größe);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "However, unlike that B() call, B() fails safely in " "the case where the multiplication would overflow. If such an overflow " "occurs, B() returns an error." msgstr "" "Allerdings schlägt B(), anders als obiger Aufruf von " "B(), sicher fehl, wenn die Multiplikation überliefe. Falls solch " "ein Überlauf auftritt, liefert B() einen Fehler zurück." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "RÜCKGABEWERT" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B(), B(), B(), and B() functions " "return a pointer to the allocated memory, which is suitably aligned for any " "type that fits into the requested size or less. On error, these functions " "return NULL and set I. Attempting to allocate more than " "B bytes is considered an error, as an object that large could " "cause later pointer subtraction to overflow." msgstr "" "Die Funktionen B(), B(), B() und B() " "liefern einen Zeiger auf den reservierten Speicher, der geeignet für jeden " "Typ, der in die angeforderte Größe oder weniger passt, ausgerichtet ist. " "Tritt ein Fehler auf, geben diese Funktionen NULL zurück und setzen " "I. Versuche, mehr als B byte zu belegen, wird als ein " "Fehler betrachtet, da ein Objekt dieser Größe bei späterer Zeigersubtraktion " "zu einem Überlauf führen könnte." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The B() function returns no value, and preserves I." msgstr "Die Funktion B() gibt keinen Wert zurück und erhält I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() and B() functions return NULL if I is " "not NULL and the requested size is zero; this is not considered an error. " "(See \"Nonportable behavior\" for portability issues.) Otherwise, the " "returned pointer may be the same as I if the allocation was not moved " "(e.g., there was room to expand the allocation in-place), or different from " "I if the allocation was moved to a new address. If these functions " "fail, the original block is left untouched; it is not freed or moved." msgstr "" "Die Funktionen B() und B() liefern NULL zurück, falls " "I nicht NULL ist und die angeforderte Größe Null ist; dies wird " "nicht als Fehler betrachtet. (Siehe »Nichtportables Verhalten« für " "Portabilitäts-Probleme.) Andernfalls kann der zurückgelieferte Zeiger zu " "I identisch sein, falls die Belegung nicht verschoben wurde (z.B. " "weil genug Platz vorhanden war, um die Belegung am Ort selbst zu vergrößern) " "oder sich von I unterscheiden, falls die Belegung an eine neue " "Adresse verschoben wurde. Wenn diese Funktionen scheitern, bleibt der " "ursprüngliche Block unverändert - er wird nicht freigegeben oder verschoben." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "FEHLER" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(), B(), B(), and B() can fail with " "the following error:" msgstr "" "B(), B(), B() und B() können mit den " "folgenden Fehlern fehlschlagen:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Out of memory. Possibly, the application hit the B or " "B limit described in B(2). Another reason could be " "that the number of mappings created by the caller process exceeded the limit " "specified by I." msgstr "" "Speicher erschöpft. Möglicherweise erreichte die Anwendung die in " "B(2) beschriebene Grenze B oder B. Ein " "anderer Grund könnte sein, dass die Anzahl der durch den aufrufenden Prozess " "erstellten Mappings die durch I festgelegte " "Grenze überschritten hat." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "ATTRIBUTE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "" "Siehe B(7) für eine Erläuterung der in diesem Abschnitt " "verwandten Ausdrücke." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Schnittstelle" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Attribut" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Wert" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B(),\n" "B(),\n" "B()" msgstr "" "B(),\n" "B(),\n" "B(),\n" "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Multithread-Fähigkeit" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Sicher" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDS" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "C11, POSIX.1-2008." msgstr "C11, POSIX.1-2008." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "None." msgstr "Keine." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "GESCHICHTE" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2001, C89." msgstr "POSIX.1-2001, C89." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "glibc 2.26. OpenBSD 5.6, FreeBSD 11.0." msgstr "Glibc 2.26. OpenBSD 5.6, FreeBSD 11.0." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() and related functions rejected sizes greater than " "B starting in glibc 2.30." msgstr "" "B() und verwandte Funktionen lehnen seit Glibc 2.30 Größen größer " "als B ab." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B() preserved I starting in glibc 2.33." msgstr "Seit Glibc 2.33 erhält B() I." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "ANMERKUNGEN" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By default, Linux follows an optimistic memory allocation strategy. This " "means that when B() returns non-NULL there is no guarantee that the " "memory really is available. In case it turns out that the system is out of " "memory, one or more processes will be killed by the OOM killer. For more " "information, see the description of I and I in B(5), and the Linux kernel source file " "I." msgstr "" "Standardmäßig verfolgt Linux eine optimistische Strategie bei der " "Speicherzuweisung. Das bedeutet nicht, dass der Speicher garantiert " "verfügbar ist, wenn B() einen von NULL verschiedenen Zeiger zurück " "gibt. Falls es sich herausstellt, dass das System über keinen freien " "Speicher verfügt, werden ein oder mehrere Prozesse vom OOM-Killer getötet. " "Für weitere Informationen siehe die Beschreibung von I und I in B(5) sowie die Linux-" "Kernel-Quelldatei I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Normally, B() allocates memory from the heap, and adjusts the size " "of the heap as required, using B(2). When allocating blocks of memory " "larger than B bytes, the glibc B() implementation " "allocates the memory as a private anonymous mapping using B(2). " "B is 128\\ kB by default, but is adjustable using " "B(3). Prior to Linux 4.7 allocations performed using B(2) " "were unaffected by the B resource limit; since Linux 4.7, this " "limit is also enforced for allocations performed using B(2)." msgstr "" "Normalerweise stellt B() Speicher auf dem Heap bereit und passt je " "nach Bedarf die Größe des Heaps mittels B(2) an. Bei der Zuweisung von " "Speicherblöcken größer als B Bytes reserviert die Glibc-" "Implementierung von B() mithilfe von B(2) den Speicher als ein " "privates anonymes Mapping. B ist standardmäßig 128\\ kB, " "kann aber mittels B(3) angepasst werden. Vor Linux 4.7 waren " "Reservierungen unter Verwendung von B(2) von der " "Ressourcenbeschränkung B nicht betroffen; seit Linux 4.7 wird " "diese Beschränkung auch bei Reservierungen mittels B(2) durchgesetzt." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To avoid corruption in multithreaded applications, mutexes are used " "internally to protect the memory-management data structures employed by " "these functions. In a multithreaded application in which threads " "simultaneously allocate and free memory, there could be contention for these " "mutexes. To scalably handle memory allocation in multithreaded " "applications, glibc creates additional I if mutex " "contention is detected. Each arena is a large region of memory that is " "internally allocated by the system (using B(2) or B(2)), and " "managed with its own mutexes." msgstr "" "Um Verfälschungen in Multithread-Anwendungen zu vermeiden, werden intern " "Mutexe zum Schutz der Speicherverwaltungs-Datenstrukturen eingesetzt, die " "von diesen Funktionen genutzt werden. In einer Multithread-Anwendung, in " "denen Threads gleichzeitig Speicher zuweisen und freigeben, könnte es " "Zugangskonflikte für diese Mutexe geben. Um die Speicherzuweisung in " "Multithread-Anwendungen skalierbar zu bewältigen, erzeugt Glibc zusätzliche " "I, wenn Mutex-Konflikte entdeckt wird. Jede Arena " "ist eine große Speicherregion, die intern vom System (mit B(2) oder " "B(2)) zugeordnet und mit eigenen Mutexen verwaltet wird." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If your program uses a private memory allocator, it should do so by " "replacing B(), B(), B(), and B(). The " "replacement functions must implement the documented glibc behaviors, " "including I handling, size-zero allocations, and overflow checking; " "otherwise, other library routines may crash or operate incorrectly. For " "example, if the replacement I() does not preserve I, then " "seemingly unrelated library routines may fail without having a valid reason " "in I. Private memory allocators may also need to replace other glibc " "functions; see \"Replacing malloc\" in the glibc manual for details." msgstr "" "Falls Ihr Programm einen privaten Speicher-Zuordner verwendet, sollte dies " "so erfolgen, dass B(), B(), B() und B() " "ersetzt werden. Die Ersatzfunktionen müssen das dokumentierte Glibc-" "Verhalten implementieren, einschließlich der Handhabung von I, " "Belegungen der Größe Null und der Prüfungen auf Überlauf; andernfalls " "könnten andere Bibliotheksroutinen abstürzen oder falsch funktionieren. " "Falls der Ersatz für I() beispielsweise I nicht erhält, dann " "könnten Bibliotheksfunktionen, die scheinbar keinen Bezug dazu haben, " "fehlschlagen, ohne einen gültigen Grund in I anzugeben. Private " "Speicher-Zuordner könnten es auch notwendig machen, andere Glibc-Funktionen " "zu ersetzen; siehe »Replacing malloc« im Handbuch der Glibc für Details." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Crashes in memory allocators are almost always related to heap corruption, " "such as overflowing an allocated chunk or freeing the same pointer twice." msgstr "" "Abstürze in Speicher-Zuordner haben nahezu immer einen Bezug zu einem " "beschädigten Heap, wie z.B. eine Nutzung von mehr als dem zugeordneten " "Bereich (overflowing) oder die doppelte Freigabe eines Zeigers." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() implementation is tunable via environment variables; see " "B(3) for details." msgstr "" "Die B()-Implementierung kann über Umgebungsvariablen eingestellt " "werden. Für Details siehe B(3)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Nonportable behavior" msgstr "Nichtportierbares Verhalten" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The behavior of these functions when the requested size is zero is glibc " "specific; other implementations may return NULL without setting I, " "and portable POSIX programs should tolerate such behavior. See " "B(3p)." msgstr "" "Das Verhalten dieser Funktionen, wenn die angeforderte Größe Null ist, ist " "Glibc-spezifisch; andere Implementierungen könnten NULL zurückliefern ohne " "I zu setzen. Portierbare POSIX-Programme sollten solches Verhalten " "zulassen. Siehe B(3p)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "POSIX requires memory allocators to set I upon failure. However, the " "C standard does not require this, and applications portable to non-POSIX " "platforms should not assume this." msgstr "" "POSIX verlangt von Speicher-Zuordnern, dass sie beim Fehlschlag I " "setzten. Allerdings verlangt der C-Standard dies nicht und Anwendungen, die " "auf nicht-POSIX-Plattformen portierbar sein sollen, sollten dies nicht " "voraussetzen." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Portable programs should not use private memory allocators, as POSIX and the " "C standard do not allow replacement of B(), B(), B(), " "and B()." msgstr "" "Portierbare Programme sollten keine privaten Speicher-Zuordner verwenden, da " "POSIX und der C-Standard keinen Ersatz für B(), B(), " "B() und B() erlauben." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "BEISPIELE" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#include Eerr.hE\n" "#include Estddef.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "\\&\n" "#define MALLOCARRAY(n, type) ((type *) my_mallocarray(n, sizeof(type)))\n" "#define MALLOC(type) MALLOCARRAY(1, type)\n" "\\&\n" "static inline void *my_mallocarray(size_t nmemb, size_t size);\n" "\\&\n" "int\n" "main(void)\n" "{\n" " char *p;\n" "\\&\n" " p = MALLOCARRAY(32, char);\n" " if (p == NULL)\n" " err(EXIT_FAILURE, \"malloc\");\n" "\\&\n" " strlcpy(p, \"foo\", 32);\n" " puts(p);\n" "}\n" "\\&\n" "static inline void *\n" "my_mallocarray(size_t nmemb, size_t size)\n" "{\n" " return reallocarray(NULL, nmemb, size);\n" "}\n" msgstr "" "#include Eerr.hE\n" "#include Estddef.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "\\&\n" "#define MALLOCARRAY(n, type) ((type *) my_mallocarray(n, sizeof(type)))\n" "#define MALLOC(type) MALLOCARRAY(1, type)\n" "\\&\n" "static inline void *my_mallocarray(size_t nmemb, size_t size);\n" "\\&\n" "int\n" "main(void)\n" "{\n" " char *p;\n" "\\&\n" " p = MALLOCARRAY(32, char);\n" " if (p == NULL)\n" " err(EXIT_FAILURE, \"malloc\");\n" "\\&\n" " strlcpy(p, \"foo\", 32);\n" " puts(p);\n" "}\n" "\\&\n" "static inline void *\n" "my_mallocarray(size_t nmemb, size_t size)\n" "{\n" " return reallocarray(NULL, nmemb, size);\n" "}\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "SIEHE AUCH" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(1), B(2), B(2), B(3), B(3), " "B(3), B(3), B(3), " "B(3), B(3), B(3), B(3)" msgstr "" "B(1), B(2), B(2), B(3), B(3), " "B(3), B(3), B(3), " "B(3), B(3), B(3), B(3)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For details of the GNU C library implementation, see E<.UR https://" "sourceware.org/glibc/wiki/MallocInternals> E<.UE .>" msgstr "" "Für Details über die GNU-C-Bibliotheksimplementierung, siehe E<.UR https://" "sourceware.org/glibc/wiki/MallocInternals> E<.UE .>" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5. Februar 2023" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "BIB<);>\n" "BI<*ptr>B<);>\n" "BIB<, size_t >IB<);>\n" "BI<*ptr>B<, size_t >IB<);>\n" "BI<*ptr>B<, size_t >IB<, size_t >IB<);>\n" msgstr "" "BIB<);>\n" "BI<*zeiger>B<);>\n" "BIB<, size_t >IB<);>\n" "BI<*zeiger>B<, size_t >IB<);>\n" "BI<*zeiger>B<, size_t >IB<, size_t >IB<);>\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "Out of memory. Possibly, the application hit the B or " "B limit described in B(2)." msgstr "" "Speicher erschöpft. Möglicherweise erreichte die Anwendung die in " "B(2) beschriebene Grenze B oder B." #. type: SH #: debian-bookworm #, no-wrap msgid "VERSIONS" msgstr "VERSIONEN" #. type: Plain text #: debian-bookworm msgid "B() was added in glibc 2.26." msgstr "B() wurde in Glibc 2.26 hinzugefügt." #. type: Plain text #: debian-bookworm msgid "" "B(), B(), B(), B(): POSIX.1-2001, " "POSIX.1-2008, C99." msgstr "" "B(), B(), B(), B(): POSIX.1-2001, " "POSIX.1-2008, C99." #. type: Plain text #: debian-bookworm msgid "" "B() is a nonstandard extension that first appeared in OpenBSD " "5.6 and FreeBSD 11.0." msgstr "" "B() ist eine nicht standardisierte Erweiterung, die erstmals " "in OpenBSD 5.6 und FreeBSD 11.0 erschien." #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31. Oktober 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30. März 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux-Handbuchseiten 6.04" #. type: Plain text #: opensuse-leap-15-6 #, no-wrap msgid "" "#include Eerr.hE\n" "#include Estddef.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" msgstr "" "#include Eerr.hE\n" "#include Estddef.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" #. type: Plain text #: opensuse-leap-15-6 #, no-wrap msgid "" "#define MALLOCARRAY(n, type) ((type *) my_mallocarray(n, sizeof(type)))\n" "#define MALLOC(type) MALLOCARRAY(1, type)\n" msgstr "" "#define MALLOCARRAY(n, type) ((type *) my_mallocarray(n, sizeof(type)))\n" "#define MALLOC(type) MALLOCARRAY(1, type)\n" #. type: Plain text #: opensuse-leap-15-6 #, no-wrap msgid "static inline void *my_mallocarray(size_t nmemb, size_t size);\n" msgstr "static inline void *my_mallocarray(size_t nmemb, size_t size);\n" #. type: Plain text #: opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " char *p;\n" msgstr "" "int\n" "main(void)\n" "{\n" " char *p;\n" #. type: Plain text #: opensuse-leap-15-6 #, no-wrap msgid "" " p = MALLOCARRAY(32, char);\n" " if (p == NULL)\n" " err(EXIT_FAILURE, \"malloc\");\n" msgstr "" " p = MALLOCARRAY(32, char);\n" " if (p == NULL)\n" " err(EXIT_FAILURE, \"malloc\");\n" #. type: Plain text #: opensuse-leap-15-6 #, no-wrap msgid "" " strlcpy(p, \"foo\", 32);\n" " puts(p);\n" "}\n" msgstr "" " strlcpy(p, \"foo\", 32);\n" " puts(p);\n" "}\n" #. type: Plain text #: opensuse-leap-15-6 #, no-wrap msgid "" "static inline void *\n" "my_mallocarray(size_t nmemb, size_t size)\n" "{\n" " return reallocarray(NULL, nmemb, size);\n" "}\n" msgstr "" "static inline void *\n" "my_mallocarray(size_t nmemb, size_t size)\n" "{\n" " return reallocarray(NULL, nmemb, size);\n" "}\n" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages (unveröffentlicht)"