manpages-de - en to de translation catalogue (42 entries)

note: type: TH
en: 2019-03-06
de: 6. März 2019

note: type: TH
en: Linux Programmer's Manual
de: Linux-Programmierhandbuch

note: type: SH
en: NAME
de: BEZEICHNUNG

note: type: Plain text
en: malloc, free, calloc, realloc - allocate and free dynamic memory
de: malloc, free, calloc, realloc - dynamischen Speicher belegen und freigeben

note: type: SH
en: SYNOPSIS
de: ÜBERSICHT

note: type: Plain text
en: Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):
de: Mit Glibc erforderliche Makros (siehe B<feature_test_macros>(7)):

note: type: Plain text
en: _GNU_SOURCE
        Since glibc 2.29:
            _DEFAULT_SOURCE
        Glibc 2.28 and earlier:
            _GNU_SOURCE
de: _GNU_SOURCE
        Seit Glibc 2.29:
            _DEFAULT_SOURCE
        Glibc 2.28 und älter:
            _GNU_SOURCE

note: type: SH
en: DESCRIPTION
de: BESCHREIBUNG

note: glibc does this: type: Plain text
en: The B<malloc>()  function allocates I<size> bytes and returns a pointer to the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, then B<malloc>()  returns either NULL, or a unique pointer value that can later be successfully passed to B<free>().
de: B<malloc>() belegt I<size> Byte und gibt einen Zeiger auf den belegten Speicherbereich zurück. I<Der Speicher wird nicht initialisiert>. Falls I<size> 0 ist, wird B<malloc>() entweder NULL zurückgeben oder einen eindeutigen Zeigerwert, der später erfolgreich an B<free>() übergeben werden kann.

note: type: Plain text
en: The B<free>()  function frees the memory space pointed to by I<ptr>, which must have been returned by a previous call to B<malloc>(), B<calloc>(), or B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, undefined behavior occurs.  If I<ptr> is NULL, no operation is performed.
de: B<free>() gibt den Speicher frei, auf den I<ptr> zeigt, welcher von einem früheren Aufruf von B<malloc>(), B<calloc>() oder B<realloc>() belegt worden sein muss. Andernfalls oder wenn I<free(ptr)> bereits aufgerufen wurde, ist das Verhalten nicht definiert. Wenn I<ptr> NULL ist, wird keine Operation ausgeführt.

note: glibc does this: type: Plain text
en: The B<calloc>()  function allocates memory for an array of I<nmemb> elements of I<size> bytes each and returns a pointer to the allocated memory.  The memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  returns either NULL, or a unique pointer value that can later be successfully passed to B<free>().  If the multiplication of I<nmemb> and I<size> would result in integer overflow, then B<calloc>()  returns an error.  By contrast, an integer overflow would not be detected in the following call to B<malloc>(), with the result that an incorrectly sized block of memory would be allocated:
de: B<calloc>() belegt Speicher für ein Array von I<nmemb> Elementen von jeweils I<size> Byte und gibt einen Zeiger auf den belegten Speicherbereich zurück. Der Speicher wird auf Null gesetzt. Falls I<nmemb> oder I<size> 0 ist, gibt B<calloc>() entweder NULL zurück oder einen eindeutigen Zeigerwert, der später erfolgreich an B<free>() übergeben werden kann. Falls die Multiplikation von I<nmemb> und I<size> zu einem Ganzzahlüberlauf führen würde, dann liefert B<calloc>() einen Fehler zurück. Im Gegensatz dazu würde ein Ganzzahlüberlauf in dem nachfolgenden Aufruf von B<malloc>() nicht erkannt werden, was zu einer Zuweisung eines Speicherblocks mit falscher Größe führen würde:

note: type: Plain text
en: The B<realloc>()  function changes the size of the memory block pointed to by I<ptr> to I<size> bytes.  The contents 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<not> be initialized.  If I<ptr> is NULL, then the call is equivalent to I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>.  Unless I<ptr> is NULL, it must have been returned by an earlier call to B<malloc>(), B<calloc>(), or B<realloc>().  If the area pointed to was moved, a I<free(ptr)> is done.
de: B<realloc>() ändert die Größe des Speicherblocks, auf den I<ptr> zeigt, auf I<size> Byte. Der Inhalt bleibt unverändert im Bereich vom Anfang des Speicherbereichs bis zum Minimum von alter und neuer Größe. Falls die neue Größe die alte überschreitet, wird der zusätzliche Speicher I<nicht> initialisiert. Falls I<ptr> gleich NULL ist, ist der Aufruf äquivalent zu I<malloc(size)>; falls die Größe gleich Null ist und I<ptr> ist von NULL verschieden, ist der Aufruf äquivalent zu I<free(ptr)>. Wenn I<ptr> nicht NULL ist, muss er von einem früheren Aufruf von B<malloc>(), B<calloc>() oder B<realloc>() zurückgegeben worden sein. Falls der Bereich, auf den verwiesen wurde, verschoben wurde, wird I<free(ptr)> aufgerufen.

note: type: Plain text
en: The B<reallocarray>()  function changes the size of the memory block pointed to by I<ptr> to be large enough for an array of I<nmemb> elements, each of which is I<size> bytes.  It is equivalent to the call
de: Die Funktion B<reallocarray>() ändert die Größe des Speicherblocks, auf den I<ptr> zeigt, damit er groß genug für ein Feld von I<nmemb> Elementen mit jeweils I<size> bytes ist. Sie ist äquivalent zu dem Aufruf:

note: type: Plain text
en: However, unlike that B<realloc>()  call, B<reallocarray>()  fails safely in the case where the multiplication would overflow.  If such an overflow occurs, B<reallocarray>()  returns NULL, sets I<errno> to B<ENOMEM>, and leaves the original block of memory unchanged.
de: Allerdings schlägt B<reallocarray>(), anders als obiger Aufruf von B<realloc>(), sicher fehl, wenn die Multiplikation überliefe. Falls solch ein Überlauf auftritt, liefert B<reallocarray>() NULL, setzt I<errno> auf B<ENOMEM> und lässt den ursprünglichen Speicherblock unverändert.

note: type: SH
en: RETURN VALUE
de: RÜCKGABEWERT

note: type: Plain text
en: The B<malloc>()  and B<calloc>()  functions return a pointer to the allocated memory, which is suitably aligned for any built-in type.  On error, these functions return NULL.  NULL may also be returned by a successful call to B<malloc>()  with a I<size> of zero, or by a successful call to B<calloc>()  with I<nmemb> or I<size> equal to zero.
de: Die Funktionen B<malloc>() und B<calloc>() liefern einen Zeiger auf den reservierten Speicher, der geeignet für jeden eingebauten Typ ausgerichtet ist. Tritt ein Fehler auf, geben diese Funktionen NULL zurück. NULL kann auch durch einen erfolgreichen Aufruf von B<malloc>() mit einer I<size> von Null oder durch einen erfolgreichen Aufruf von B<calloc>() mit I<nmemb> oder I<size> gleich Null zurückgegeben werden.

note: type: Plain text
en: The B<free>()  function returns no value.
de: Die Funktion B<free>() gibt keinen Wert zurück.

note: type: Plain text
en: The B<realloc>()  function returns a pointer to the newly allocated memory, which is suitably aligned for any built-in type and may be different from I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either NULL or a pointer suitable to be passed to B<free>()  is returned.  If B<realloc>()  fails, the original block is left untouched; it is not freed or moved.
de: Die Funktion B<realloc>() gibt einen Zeiger auf den neu belegten Speicher zurück, welcher für jeden eingebauten Typ passend ausgerichtet ist und sich von I<ptr> unterscheiden kann, oder NULL falls die Anforderung scheitert. Falls I<size> gleich 0 war, wird entweder NULL oder ein für die Übergabe an B<free>() geeigneter Zeiger zurückgegeben. Wenn B<realloc>() scheitert, bleibt der ursprüngliche Block unverändert - er wird nicht freigegeben oder verändert.

note: type: Plain text
en: On success, the B<reallocarray>()  function returns a pointer to the newly allocated memory.  On failure, it returns NULL and the original block of memory is left untouched.
de: Im Erfolgsfall liefert die Funktion B<reallocarray>() einen Zeiger auf den neu belegten Speicher zurück. Beim Fehlschlag liefert sie NULL und der ursprüngliche Speicherblock bleibt unverändert.

note: type: SH
en: ERRORS
de: FEHLER

note: type: Plain text
en: B<calloc>(), B<malloc>(), B<realloc>(), and B<reallocarray>()  can fail with the following error:
de: B<calloc>(), B<malloc>(), B<realloc>() und B<reallocarray>() können mit den folgenden Fehlern fehlschlagen:

note: type: Plain text
en: Out of memory.  Possibly, the application hit the B<RLIMIT_AS> or B<RLIMIT_DATA> limit described in B<getrlimit>(2).
de: Speicher erschöpft. Möglicherweise erreichte die Anwendung die in B<getrlimit>(2) beschriebene Grenze B<RLIMIT_AS> oder B<RLIMIT_DATA>.

note: type: SH
en: ATTRIBUTES
de: ATTRIBUTE

note: type: Plain text
en: For an explanation of the terms used in this section, see B<attributes>(7).
de: Siehe B<attributes>(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

note: type: tbl table
en: Interface
de: Schnittstelle

note: type: tbl table
en: Attribute
de: Attribut

note: type: tbl table
en: Value
de: Wert

note: type: tbl table
en: Thread safety
de: Multithread-Fähigkeit

note: type: SH
en: CONFORMING TO
de: KONFORM ZU

note: type: Plain text
en: B<reallocarray>()  is a nonstandard extension that first appeared in OpenBSD 5.6 and FreeBSD 11.0.
de: B<reallocarray>() ist eine nicht standardisierte Erweiterung, die erstmals in OpenBSD 5.6 und FreeBSD 11.0 erschien.

note: type: SH
en: NOTES
de: ANMERKUNGEN

note: type: Plain text
en: By default, Linux follows an optimistic memory allocation strategy.  This means that when B<malloc>()  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</proc/sys/vm/overcommit_memory> and I</proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file I<Documentation/vm/overcommit-accounting.rst>.
de: Standardmäßig verfolgt Linux eine optimistische Strategie bei der Speicherzuweisung. Das bedeutet nicht, dass der Speicher garantiert verfügbar ist, wenn B<malloc>() 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« beendet. Für weitere Informationen siehe die Beschreibung von I</proc/sys/vm/overcommit_memory> und I</proc/sys/vm/oom_adj> in B<proc>(5) sowie die Linux-Kernel-Quelldatei I<Documentation/vm/overcommit-accounting.rst>.

note: type: Plain text
en: 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<memory allocation arenas> if mutex contention is detected.  Each arena is a large region of memory that is internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and managed with its own mutexes.
de: 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<memory allocation arenas>, wenn Mutex-Konflikte entdeckt wird. Jede Arena ist eine große Speicherregion, die intern vom System (mit B<brk>(2) oder B<mmap>(2)) zugeordnet und mit eigenen Mutexen verwaltet wird.

note: type: Plain text
en: SUSv2 requires B<malloc>(), B<calloc>(), and B<realloc>()  to set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done (and the glibc versions of these routines do this); if you use a private malloc implementation that does not set I<errno>, then certain library routines may fail without having a reason in I<errno>.
de: SUSv2 fordert von B<malloc>(), B<calloc>() und B<realloc>() im Fehlerfall I<errno> auf B<ENOMEM> zu setzen. Glibc geht davon aus, dass das getan wurde (und die Glibc-Versionen dieser Routinen tun es). Wenn Sie eine private Implementierung von malloc verwenden, die I<errno> nicht setzt, können bestimmte Bibliotheksroutinen ohne einen Grund in I<errno> fehlschlagen.

note: type: Plain text
en: Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost always related to heap corruption, such as overflowing an allocated chunk or freeing the same pointer twice.
de: Abstürze in B<malloc>(), B<calloc>(), B<realloc>() oder B<free>() 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.

note: type: Plain text
en: The B<malloc>()  implementation is tunable via environment variables; see B<mallopt>(3)  for details.
de: Die B<malloc>()-Implementierung kann über Umgebungsvariablen eingestellt werden. Für Details siehe B<mallopt>(3).

note: type: SH
en: SEE ALSO
de: SIEHE AUCH

note: type: Plain text
en: For details of the GNU C library implementation, see E<.UR https://sourceware.org/glibc/wiki/MallocInternals> E<.UE .>
de: Für Details über die GNU-C-Bibliotheksimplementierung, siehe E<.UR https://sourceware.org/glibc/wiki/MallocInternals> E<.UE .>

note: type: SH
en: COLOPHON
de: KOLOPHON

note: type: Plain text
en: This page is part of release 5.03 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
de: Diese Seite ist Teil der Veröffentlichung 5.03 des Projekts Linux-I<man-pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man-pages/.

note: type: Plain text
en: This page is part of release 5.02 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
de: Diese Seite ist Teil der Veröffentlichung 5.02 des Projekts Linux-I<man-pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man-pages/.

note: type: Plain text
en: This page is part of release 5.01 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man-pages/.
de: Diese Seite ist Teil der Veröffentlichung 5.01 des Projekts Linux-I<man-pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man-pages/.
