<?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[_aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine]]></title><description><![CDATA[<p>In meiner Engine Allokiere ich im Konstruktor der klasse: EntityRenderData einen XMMATRIX Dynamisch auf den heap:</p>
<pre><code class="language-cpp">EntityRenderData::EntityRenderData()
{
	pWorld=(XMMATRIX*)_aligned_malloc(sizeof(XMMATRIX),__alignof(XMMATRIX));
	ZeroMemory(pWorld,sizeof(XMMATRIX));
}
</code></pre>
<p>das tue ich damit pWorld seine Ausrichtung nicht verliert, da EntityRenderData selbst via new auf dem heap Allokiert ist und XMMATRIX ja 16 byte ausgerichtet ist - hab ich gelesen hab aber noch nicht so richtig verstanden was das bedeutet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
also währe erstmal schön wenn mir jemand nochmal erklären was genau das bedeutet?<br />
Also das Allokieren klappt auch problemlos! aber das Freigeben macht mir Probleme ... Der Code dazu sieht so aus:</p>
<pre><code class="language-cpp">_aligned_free(pWorld);
</code></pre>
<p>Wenn mein Programm nun bei der Freigabe des Pointers ankommt, erhalte ich allerdings folgende Fehlermeldung:</p>
<pre><code>Damage before 0x005bf250 which was allokated by aligned routine
</code></pre>
<p>Also währe echt schön wenn mir jemand erklären könnte, was genau eine 16 byte Ausrichtung ist ... und vor allem wo ich den Fehler mache, das ich meinen Pointer nicht wieder Freigeben kann! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
oder liegt es daran dass EntityRenderData wie gesagt selbst allokiert und nicht ausgerichtet ist? Müsste ich also wirklich meine World Matrices Extern Unterbringen?</p>
<p>LG und vielen dank im vor raus für eure Hilfe! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/304688/_aligned_free-damage-before-0x005bf250-which-was-allokated-by-aligned-routine</link><generator>RSS for Node</generator><lastBuildDate>Thu, 25 Jun 2026 12:28:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304688.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jun 2012 13:57:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to _aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine on Tue, 12 Jun 2012 13:57:29 GMT]]></title><description><![CDATA[<p>In meiner Engine Allokiere ich im Konstruktor der klasse: EntityRenderData einen XMMATRIX Dynamisch auf den heap:</p>
<pre><code class="language-cpp">EntityRenderData::EntityRenderData()
{
	pWorld=(XMMATRIX*)_aligned_malloc(sizeof(XMMATRIX),__alignof(XMMATRIX));
	ZeroMemory(pWorld,sizeof(XMMATRIX));
}
</code></pre>
<p>das tue ich damit pWorld seine Ausrichtung nicht verliert, da EntityRenderData selbst via new auf dem heap Allokiert ist und XMMATRIX ja 16 byte ausgerichtet ist - hab ich gelesen hab aber noch nicht so richtig verstanden was das bedeutet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
also währe erstmal schön wenn mir jemand nochmal erklären was genau das bedeutet?<br />
Also das Allokieren klappt auch problemlos! aber das Freigeben macht mir Probleme ... Der Code dazu sieht so aus:</p>
<pre><code class="language-cpp">_aligned_free(pWorld);
</code></pre>
<p>Wenn mein Programm nun bei der Freigabe des Pointers ankommt, erhalte ich allerdings folgende Fehlermeldung:</p>
<pre><code>Damage before 0x005bf250 which was allokated by aligned routine
</code></pre>
<p>Also währe echt schön wenn mir jemand erklären könnte, was genau eine 16 byte Ausrichtung ist ... und vor allem wo ich den Fehler mache, das ich meinen Pointer nicht wieder Freigeben kann! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
oder liegt es daran dass EntityRenderData wie gesagt selbst allokiert und nicht ausgerichtet ist? Müsste ich also wirklich meine World Matrices Extern Unterbringen?</p>
<p>LG und vielen dank im vor raus für eure Hilfe! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222385</guid><dc:creator><![CDATA[SKVG]]></dc:creator><pubDate>Tue, 12 Jun 2012 13:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to _aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine on Tue, 12 Jun 2012 14:04:40 GMT]]></title><description><![CDATA[<p>Mit dem Code leider nicht nachstellbar. Siehe auch Links in meiner Signatur...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222388</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 12 Jun 2012 14:04:40 GMT</pubDate></item><item><title><![CDATA[Reply to _aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine on Tue, 12 Jun 2012 14:11:45 GMT]]></title><description><![CDATA[<p>Du schreibst wahrscheinlich irgendwo über eine Arraygrenze hinweg und zerschießt dir damit den Heap.</p>
<blockquote>
<p>Also währe echt schön wenn mir jemand erklären könnte, was genau eine 16 byte Ausrichtung ist</p>
</blockquote>
<p>Eine durch 16 teilbare Adresse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222393</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 12 Jun 2012 14:11:45 GMT</pubDate></item><item><title><![CDATA[Reply to _aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine on Tue, 12 Jun 2012 14:32:10 GMT]]></title><description><![CDATA[<p>Die Lösung ist mir bisschen peinlich ... ^^<br />
mit der dem Pointer ist alles in Ordnung, aber ich hatte Folgendes gemacht:</p>
<pre><code class="language-cpp">pWorld = &amp;XMMatrixIdentity();
</code></pre>
<p>... *facepalm* wie auch immer ich auf die idee geommen bin das da ein '&amp;' hingehöht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> ... jedenfalls Zeigt pWorld natürlich hinterher irgentwo hin, nur nicht auf den Allokierten Speicherbereich ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> wodurch natürlich klar ist das das freigeben nicht klappt ... manchmal Zweifel ich echt an mir <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ich dachte eigentlich ich beherrsche die Grundlagen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>LG und trotzdem danke. SK <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222402</guid><dc:creator><![CDATA[SKVG]]></dc:creator><pubDate>Tue, 12 Jun 2012 14:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to _aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine on Tue, 12 Jun 2012 14:39:28 GMT]]></title><description><![CDATA[<p>SKVG schrieb:</p>
<blockquote>
<p>mit der dem Pointer ist alles in Ordnung, aber ich hatte Folgendes gemacht:</p>
<pre><code class="language-cpp">pWorld = &amp;XMMatrixIdentity();
</code></pre>
<p>... *facepalm* wie auch immer ich auf die idee geommen bin das da ein '&amp;' hingehöht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> ... jedenfalls Zeigt pWorld natürlich hinterher irgentwo hin, nur nicht auf den Allokierten Speicherbereich ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Ist pWorld ein void-Pointer? Eine andere Möglichkeit gibt es nicht, bei der<br />
<code>pWorld = XMMatrixIdentity()</code><br />
und<br />
<code>pWorld = &amp;XMMatrixIdentity()</code><br />
beide ohne Murren durch den Compiler gehen. Dann wiederum ist es aber unlogisch, dass du die Rückgabe von _aligned_malloc nach XMMAtrix* castest. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222404</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 12 Jun 2012 14:39:28 GMT</pubDate></item><item><title><![CDATA[Reply to _aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine on Tue, 12 Jun 2012 14:58:46 GMT]]></title><description><![CDATA[<p>nein, pWorld ist ein XMMATRIX* Pointer. Ich habe das Ganze jetzt so gelöst:</p>
<pre><code class="language-cpp">*pWorld = XMMatrixIdentity();
</code></pre>
<pre><code class="language-cpp">pWorld = XMMatrixIdentity();
</code></pre>
<p>- klappt natürlich nicht, da XMMatrixIdentity(); ja keinen Pointer zurückgibt...</p>
<pre><code class="language-cpp">pWorld = &amp;XMMatrixIdentity();
</code></pre>
<p>- geht natürlich durch, denn es entsteht ja eine Reference auf die Rückgabe von XMMatrixIdentity(); ... was natürlich total sinnvoll ist *hust* ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Was mich eigentlich verwirrt hat, war die Fehlermeldung, da ich eigentlich noch nie damit gearbeitet habe sondern immer mit new/delete. Womit ich ja leider keine Ausgerichtete Allokation vornehmen kann oder? zm. nicht ohne mir selber einen operator zu basteln... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>LG SK</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222411</guid><dc:creator><![CDATA[SKVG]]></dc:creator><pubDate>Tue, 12 Jun 2012 14:58:46 GMT</pubDate></item><item><title><![CDATA[Reply to _aligned_free() - Damage before 0x005bf250 which was allokated by aligned routine on Tue, 12 Jun 2012 17:35:43 GMT]]></title><description><![CDATA[<p>Autsch, das klingt nach ein paar <code>new</code> s zu viel und drei-Sterne-Programmierung...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222466</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 12 Jun 2012 17:35:43 GMT</pubDate></item></channel></rss>