<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Müllsammlung ...]]></title><description><![CDATA[<p>Bei C++ kann man mit dem new und delete Operator Speicherbereiche<br />
auf dem Heap reservieren und freigeben. Mit der Zeit muss der Heap<br />
ziemlich fragmentiert werden. Wie geht das Betriebssystem vor wenn ein<br />
new Operator ausgeführt wird. Windows müsste einige Zeit für das<br />
finden eines ausrechend grossen Speicherbereich aufwenden, also langsam<br />
werden. Ausserdem gibt es eine Funktion namens _heapmin. Es kann aber doch nicht<br />
sein dass _heapmin den heap zusammenschiebt, da müssten alle verwendeten<br />
Zeiger umgebogen werden. Weiss jemand darüber etwas ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204448/müllsammlung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 12:28:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204448.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Feb 2008 14:44:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Müllsammlung ... on Sun, 03 Feb 2008 14:44:16 GMT]]></title><description><![CDATA[<p>Bei C++ kann man mit dem new und delete Operator Speicherbereiche<br />
auf dem Heap reservieren und freigeben. Mit der Zeit muss der Heap<br />
ziemlich fragmentiert werden. Wie geht das Betriebssystem vor wenn ein<br />
new Operator ausgeführt wird. Windows müsste einige Zeit für das<br />
finden eines ausrechend grossen Speicherbereich aufwenden, also langsam<br />
werden. Ausserdem gibt es eine Funktion namens _heapmin. Es kann aber doch nicht<br />
sein dass _heapmin den heap zusammenschiebt, da müssten alle verwendeten<br />
Zeiger umgebogen werden. Weiss jemand darüber etwas ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448511</guid><dc:creator><![CDATA[GeorgC++]]></dc:creator><pubDate>Sun, 03 Feb 2008 14:44:16 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Sun, 03 Feb 2008 19:37:42 GMT]]></title><description><![CDATA[<p>Prinzpiell hast du recht, das BS muss einen entsprechenden speicherbereich suchen. Wie es dabei vorgeht, hängt vom BS ab. Da gibt es verschiedene Algorithmen.<br />
Praktisch hängt hinter new oft (ist aber kein muss!! der Standard schreibt das nicht vor) malloc aus den C-Libs. Und da arbeitet dann auch noch ein Speichermanager mit der zwischen BS und deiner Anwendung hängt.</p>
<p>zu heapmin, da schaut man einfach in der MSDN nach:</p>
<p>MSDN schrieb:</p>
<blockquote>
<p>The _heapmin function minimizes the heap by releasing unused heap memory to the operating system. If the operating system does not support _heapmin (for example, Windows 98), the function returns –1 and sets errno to ENOSYS.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1448728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448728</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Sun, 03 Feb 2008 19:37:42 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Mon, 04 Feb 2008 08:07:54 GMT]]></title><description><![CDATA[<p>Wann benötigt man so eine Funktion wie _heapmin bzw. ist diese überhaupt noch notwendig? Eigentlich ist das Speichermanagement unter Windows doch ziemlich effizient.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448867</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Mon, 04 Feb 2008 08:07:54 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Mon, 04 Feb 2008 08:46:20 GMT]]></title><description><![CDATA[<p>Man müsste schon den new-/delete-Operator überladen und alles selbst implementieren, damit ein sauberer heap möglich ist. In &quot;Modernes C++ Design&quot; wird erklärt wie man eine Speicherverwaltung implementiert. Zwar nicht speziell bzgl. Defragmentierung, aber es ist eine der wenigen Quellen in denen überhaupt in die Richtung erklärt wird.</p>
<p>Oder man nimmt gleich eine fertige Lib wie <a href="http://www.microquill.com/" rel="nofollow">SmartHeap</a> die laut c't-Tests seine Sache sogar sehr gut machen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448879</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 04 Feb 2008 08:46:20 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Tue, 05 Feb 2008 00:11:29 GMT]]></title><description><![CDATA[<p>offtopic...</p>
<p>komisch, dass schon der amiga eine mmu hatte (memory management unit) und aktuelle computer das erst mit .Net hinbekommen...</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449427</guid><dc:creator><![CDATA[StefanKittel]]></dc:creator><pubDate>Tue, 05 Feb 2008 00:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Tue, 05 Feb 2008 01:21:16 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17224">@StefanKittel</a>: komisch dass du nicht verstanden hast was eine MMU ist.<br />
Ohne MMU ginge unter Windows garnix.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449442</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 05 Feb 2008 01:21:16 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Tue, 05 Feb 2008 01:22:58 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17224">@StefanKittel</a></p>
<p>MMU gibt es im PC bereich schon seit Einführung des ProtectedMode, also ist gar nicht soooo neu. Was glaubst Du wie sonnst FileMapping, SwapDatei usw. Funktionieren soll. Aber das nur mal so am Rande und das sind nur zwei beispiele für was dei MMU verantwortlich ist.</p>
<p>Gruß Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449443</guid><dc:creator><![CDATA[CTecS]]></dc:creator><pubDate>Tue, 05 Feb 2008 01:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Tue, 05 Feb 2008 08:30:42 GMT]]></title><description><![CDATA[<p>MMU ist hauptsächlich für virtuellen Hauptspeicher gedacht, und das gibts nun wirklich schon lange auf PCs. In diesem Thread geht es um was ganz anderes! Da war der Classic Amiga &amp; Co. noch weit von entfernt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449492</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 05 Feb 2008 08:30:42 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Tue, 05 Feb 2008 09:58:34 GMT]]></title><description><![CDATA[<p>Eine Möglichkeit ist es, einen künstlichen Heap, mit einem Array, und<br />
Belegungs und Freigabe Mechanismen einzubauen. Sofern die Grösse der<br />
zu belegenden Speicherblöcke konstant ist. Ansonsten für jede Bereichsgrösse<br />
einen künstlichen Heap. Aber andererseits, wenn Windows schnell genug ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449567</guid><dc:creator><![CDATA[GeorgC++]]></dc:creator><pubDate>Tue, 05 Feb 2008 09:58:34 GMT</pubDate></item><item><title><![CDATA[Reply to Müllsammlung ... on Tue, 05 Feb 2008 12:34:45 GMT]]></title><description><![CDATA[<p>@GeorgC++: Windows ist da relativ langsam - zumindest Windows XP. Dafür wird allerdings nicht viel Speicher &quot;verschenkt&quot; - die ganzen schnellen general purpose allokatoren verballern ziemlich viel Speicher nur um schnell zu sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449695</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 05 Feb 2008 12:34:45 GMT</pubDate></item></channel></rss>