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

Re: Rechner töten



Gerhard Brauer wrote:

wesentlich Speicher verbraucht. Soweit ich C verstehe reservierst du
doch mit deinem malloc 1024 byte. Mit dem sprintf belegst du aber

?? malloc reserviert dir Speicher, was du da reinschreibst (und ob du
überhaupt was reinschreibst) ist egal, dein Prozes verbraucht aber in
jedem Fall den entsprechenden Speicher... Er allokiert also in der 1.
for-Schleife 1MB Speicher und erzeugt ausserdem 1024 Prozesse...

Ah danke. Ich hatte die manpage so verstanden, das ein ein malloc mir
nur eine Zusicherung über den angeforderten Speicher zurückgibt. Ihn
aber erst bei wirklicher Nutzung auch belegt. Aber jemehr ich darüber
nachdenke...

So, hier nun meine Theorie :-) :

Ein malloc() gibt wirklich nur eine Zusicherung für einen Speicherbereich zurück. Sobald aber in einen Teil dieses Speicherbereiches geschrieben wird, gilt das gesamte Speichersegment als belegt, da Speichersegmente nicht zw. Prozessen geteilt werden.

Hach, ich mag die Sprachen einfach nicht, bei denen ich mir um sowas
Gedanken machen muß ;-)

Ich auch nicht so wirklich.

Schönen Gruß

Wolf
--
Büroschimpfwort des Tages: Kontaktallergiker - meidet die Tratschrunden in der Kaffeeküche. (Sven-Lukas Müller)



Reply to: