<?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[malloc-Problem]]></title><description><![CDATA[<p>Hi Everyone</p>
<p>Bezüglich meines &quot;Bilder zeichnen&quot;-Problems wurde mir in diesem Forum schon vermehrt geholfen. Da hab' ich mir gedacht, versuch' ich's doch einfach noch mal <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>Es geht darum, dass ich eine Bitmap-Grafik in einen Char Array, welches ich mit malloc kreiert habe, ablege und das ganze per CGI verschicke.</p>
<p>Das geht alles ganz gut, bis zu einer Alloziiergrösse von 32768 Bytes. Wenn ich darüber gehe (z.B. mit einem Bitmap 600x200 Pixel, 4 Bit Color Depth), spielt meine drawPixel-Funktion völlig verrückt und die Koordinate (0, 0) befindet sich plötzlich im linken unteren Bildbereich oder sonstwo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ist es möglich, dass malloc mit so grossen Werten plötzlich Unsinn fabriziert? Oder wo könnte sonst der Fehler liegen?</p>
<p>Danke und Gruss<br />
Kessi</p>
<p>PS: Es handelt sich um eine 16-Bit CPU, mit über 340k Speicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155202/malloc-problem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 09:34:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155202.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Aug 2006 14:16:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to malloc-Problem on Thu, 03 Aug 2006 14:16:10 GMT]]></title><description><![CDATA[<p>Hi Everyone</p>
<p>Bezüglich meines &quot;Bilder zeichnen&quot;-Problems wurde mir in diesem Forum schon vermehrt geholfen. Da hab' ich mir gedacht, versuch' ich's doch einfach noch mal <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>Es geht darum, dass ich eine Bitmap-Grafik in einen Char Array, welches ich mit malloc kreiert habe, ablege und das ganze per CGI verschicke.</p>
<p>Das geht alles ganz gut, bis zu einer Alloziiergrösse von 32768 Bytes. Wenn ich darüber gehe (z.B. mit einem Bitmap 600x200 Pixel, 4 Bit Color Depth), spielt meine drawPixel-Funktion völlig verrückt und die Koordinate (0, 0) befindet sich plötzlich im linken unteren Bildbereich oder sonstwo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ist es möglich, dass malloc mit so grossen Werten plötzlich Unsinn fabriziert? Oder wo könnte sonst der Fehler liegen?</p>
<p>Danke und Gruss<br />
Kessi</p>
<p>PS: Es handelt sich um eine 16-Bit CPU, mit über 340k Speicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109978</guid><dc:creator><![CDATA[KessiMC]]></dc:creator><pubDate>Thu, 03 Aug 2006 14:16:10 GMT</pubDate></item><item><title><![CDATA[Reply to malloc-Problem on Thu, 03 Aug 2006 14:34:30 GMT]]></title><description><![CDATA[<p>Was liefert sizeof size_t? Oder schau, als was size_t definiert ist. Da du eine 16-Bit Architektur hat, sollte ein int 16-Bit lang sein, was für 65536 Werte reicht.<br />
Etwas verwirrt bin ich davon, dass der Fehler bei 32768 (also 2^15) kommt. Eigentlich müsste size_t unsigned sein. Naja, ist für dich wohl eh egal, über diese Grenze kommst du mit malloc einfach nicht hinweg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109991</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 03 Aug 2006 14:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to malloc-Problem on Thu, 03 Aug 2006 16:03:25 GMT]]></title><description><![CDATA[<ol>
<li>Hier ist das C++ Forum. Wenn du mit C++ arbeitest, nimm new, statt malloc.</li>
<li>Kann es sein, dass dein Speicher voll ist?</li>
<li>Bei so geringen Ressourcen, solltest du dir überlegen, ob du bei 4 Bit Farbtiefe nicht besser 2 Pixel pro Byte speicherst. Damit halbierst du den Speicherbedarf (natürlich braucht es mehr Rechenzeit, weil du die Bytes zusammen und wieder auseinander shiften musst).</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1110049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110049</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Thu, 03 Aug 2006 16:03:25 GMT</pubDate></item><item><title><![CDATA[Reply to malloc-Problem on Thu, 03 Aug 2006 16:16:17 GMT]]></title><description><![CDATA[<p>vielleicht sind ja auch die ints nur 16bit breit und die berechnung des speicherbedarfs erfolgt ohne berücksichtigung des drohenden überlaufs ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1110059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110059</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 03 Aug 2006 16:16:17 GMT</pubDate></item><item><title><![CDATA[Reply to malloc-Problem on Thu, 03 Aug 2006 16:29:25 GMT]]></title><description><![CDATA[<p>ich nehme an irgendein index o.ä. auf die bilddaten ist irrtümlicherweise 'signed'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1110066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110066</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 03 Aug 2006 16:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to malloc-Problem on Fri, 04 Aug 2006 16:52:02 GMT]]></title><description><![CDATA[<p>Hm... mit &quot;unsigned&quot; könnte ich meinen Speicherbeplatz also verdoppeln... Allerdings übergebe ich der malloc-Funktion bereits einen &quot;unsigned long&quot;. Klar, so wie ihr mir das erklärt habt, kann malloc höchstens einen int alloziieren, und der long ist also Unsinn (gibt auch einen Conversion Error). Aber warum ist der long dann plötzlich &quot;signed&quot;, denn meine magische Grenze scheint sich ja, wie erwähnt, bei 32'768 zu befinden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1110693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110693</guid><dc:creator><![CDATA[KessiMC]]></dc:creator><pubDate>Fri, 04 Aug 2006 16:52:02 GMT</pubDate></item></channel></rss>