[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR] man://manpages-de/malloc.3



27 (31) Meldungen, 291 Zeilen PO, 125 Zeilen Handbuch

Viel Spaß,
   Martin
# German translation of manpages
# This file is distributed under the same license as the manpages-de package.
# Copyright © of this file:
# Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: manpages-de\n"
"POT-Creation-Date: 2012-08-26 13:30+0300\n"
"PO-Revision-Date: 2012-10-08 14:32+0200\n"
"Last-Translator: Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

#. type: TH
#, no-wrap
msgid "MALLOC"
msgstr "MALLOC"

#. type: TH
#, no-wrap
msgid "2012-05-10"
msgstr "10. Mai 2012"

#. type: TH
#, no-wrap
msgid "GNU"
msgstr "GNU"

#. type: TH
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux-Programmierhandbuch"

#. type: SH
#, no-wrap
msgid "NAME"
msgstr "BEZEICHNUNG"

#. type: Plain text
msgid "malloc, free, calloc, realloc - Allocate and free dynamic memory"
msgstr ""
"malloc, free, calloc, realloc - dynamischen Speicher belegen und freigeben"

#. type: SH
#, no-wrap
msgid "SYNOPSIS"
msgstr "Ã?BERSICHT"

#. type: Plain text
#, no-wrap
msgid "B<#include E<lt>stdlib.hE<gt>>\n"
msgstr "B<#include E<lt>stdlib.hE<gt>>\n"

#. type: Plain text
#, no-wrap
msgid ""
"B<void *malloc(size_t >I<size>B<);>\n"
"B<void free(void >I<*ptr>B<);>\n"
"B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
"B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
msgstr ""
"B<void *malloc(size_t >I<size>B<);>\n"
"B<void free(void >I<*ptr>B<);>\n"
"B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
"B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"

#. type: SH
#, no-wrap
msgid "DESCRIPTION"
msgstr "BESCHREIBUNG"

#.  glibc does this:
#. type: Plain text
msgid ""
"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>()."
msgstr ""
"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."

#. type: Plain text
msgid ""
"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."
msgstr ""
"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> B<NULL> ist, wird keine Operation "
"ausgeführt."

#.  glibc does this:
#. type: Plain text
msgid ""
"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>()."
msgstr ""
"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."

#. type: Plain text
msgid ""
"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."
msgstr ""
"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 B<NULL> ist, ist der Aufruf äquivalent zu "
"B<malloc>(I<(size>B<)>; falls die Grö�e gleich Null ist und I<ptr> ist von "
"NULL verschieden, ist der Aufruf äquivalent zu B<free(>I<ptr>B<)>. Wenn "
"I<ptr> nicht B<NULL> ist, muss er von einem früheren Aufruf von B<malloc>(), "
"B<calloc>() oder B<realloc>() zurückgegeben worden sein."

#. type: SH
#, no-wrap
msgid "RETURN VALUE"
msgstr "RÃ?CKGABEWERT"

#. type: Plain text
msgid ""
"The B<malloc>()  and B<calloc>()  functions return a pointer to the "
"allocated memory that is suitably aligned for any kind of variable.  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."
msgstr ""
"Die Funktionen B<malloc>() und B<calloc>() liefern einen Zeiger auf den "
"reservierten Speicher, der geeignet für alle Arten von Variablen "
"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."

#. type: Plain text
msgid "The B<free>()  function returns no value."
msgstr "Die Funktion B<free>() gibt keinen Wert zurück."

#. type: Plain text
msgid ""
"The B<realloc>()  function returns a pointer to the newly allocated memory, "
"which is suitably aligned for any kind of variable 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."
msgstr ""
"Die Funktion B<realloc>() gibt einen Zeiger auf den neu belegten Speicher "
"zurück, welcher für alle Arten von Variablen  passend ausgerichtet ist und "
"sich von I<ptr> unterscheiden kann, oder B<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."

#. type: SH
#, no-wrap
msgid "CONFORMING TO"
msgstr "KONFORM ZU"

#. type: Plain text
msgid "C89, C99."
msgstr "C89, C99."

#. type: SH
#, no-wrap
msgid "NOTES"
msgstr "ANMERKUNGEN"

#. type: Plain text
msgid ""
"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 kernel source file "
"I<Documentation/vm/overcommit-accounting>."
msgstr ""
"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 "
"Kernel-Quelldatei I<Documentation/vm/overcommit-accounting>."

#. type: Plain text
msgid ""
"Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
"of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
"larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
"allocates the memory as a private anonymous mapping using B<mmap>(2).  "
"B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using B<mallopt>"
"(3).  Allocations performed using B<mmap>(2)  are unaffected by the "
"B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
msgstr ""
"Normalerweise stellt B<malloc>() Speicher auf dem Heap bereit und passt je "
"nach Bedarf die Grö�e des Heaps mittels B<sbrk>(2) an. Bei der Zuweisung von "
"Speicherblöcken grö�er als B<MMAP_THRESHOLD> Bytes reserviert die Glibc-"
"Implementierung von B<malloc>() den Speicher als eine private anonyme "
"Zuordnung mithilfe von B<mmap>(2). B<MMAP_THRESHOLD> ist standardmä�ig 128 "
"kB, kann aber mittels B<mallopt>(3) angepasst werden. Reservierungen unter "
"Verwendung von B<mmap>(2) sind von der Ressourcenbeschränkung B<RLIMIT_DATA> "
"(siehe B<getrlimit>(2)) nicht betroffen."

#. type: Plain text
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<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."
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<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."

#. type: Plain text
msgid ""
"The UNIX 98 standard 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>."
msgstr ""
"Der UNIX-98-Standard 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 fehlschlagen, ohne einen Grund in "
"I<errno> fehlschlagen."

#. type: Plain text
msgid ""
"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."
msgstr ""
"Abstürze in B<malloc>(), B<calloc>(), B<realloc>(), or 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 zweimalige "
"Freigabe eines Zeigers."

#. type: Plain text
msgid ""
"Recent versions of Linux libc (later than 5.4.23) and glibc (2.x)  include a "
"B<malloc>()  implementation which is tunable via environment variables.  For "
"details, see B<mallopt>(3)."
msgstr ""
"Neuere Versionen der Linux-Libc (neuer als 5.4.23) und Glibc (2.x) enthalten "
"eine B<malloc>()-Implementierung, die über Umgebungsvariablen eingestellt "
"werden kann. Für Details siehe B<mallopt>(3)."

Reply to: