<?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[Klassen für Hardware-Resourcen - alles static oder was?]]></title><description><![CDATA[<p>Ich muss ein (C++) Programm für ein embedded System schreiben.<br />
Die Hardware-Rsourcen (Display, Controller, Touch, ...) sind ja nur einmal vorhanden, es darf also immer nur genau eine Instanz geben, die den Zugriff darauf hat.<br />
Mit weiteren Klassen möchte ich möglichst einfach auf die Hardware-Klassen zugreifen können.<br />
Außerdem wäre es gut, wenn so viel wie möglich davon im Programmspeicher und nicht auf dem Heap oder im Stack liegt.<br />
Was ist da am Besten?<br />
Alles static, anonyme Klassen, oder eine übergeordnete Systemklasse die die Hardware-Klassen als Member hat, oder geht das ganz anders?<br />
<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 />
Ich bin mir über die Vor- und Nachteile der einzelnen Lösungen nicht so ganz im klaren.<br />
Tipps dazu wären super, denn ich bin noch am Anfang des Projektes - nachträgliche Änderungen sind oft sehr schwierig.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217812/klassen-für-hardware-resourcen-alles-static-oder-was</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 06:56:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217812.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Jul 2008 16:44:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Fri, 11 Jul 2008 16:45:23 GMT]]></title><description><![CDATA[<p>Ich muss ein (C++) Programm für ein embedded System schreiben.<br />
Die Hardware-Rsourcen (Display, Controller, Touch, ...) sind ja nur einmal vorhanden, es darf also immer nur genau eine Instanz geben, die den Zugriff darauf hat.<br />
Mit weiteren Klassen möchte ich möglichst einfach auf die Hardware-Klassen zugreifen können.<br />
Außerdem wäre es gut, wenn so viel wie möglich davon im Programmspeicher und nicht auf dem Heap oder im Stack liegt.<br />
Was ist da am Besten?<br />
Alles static, anonyme Klassen, oder eine übergeordnete Systemklasse die die Hardware-Klassen als Member hat, oder geht das ganz anders?<br />
<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 />
Ich bin mir über die Vor- und Nachteile der einzelnen Lösungen nicht so ganz im klaren.<br />
Tipps dazu wären super, denn ich bin noch am Anfang des Projektes - nachträgliche Änderungen sind oft sehr schwierig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545828</guid><dc:creator><![CDATA[DrSchuftware]]></dc:creator><pubDate>Fri, 11 Jul 2008 16:45:23 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Fri, 11 Jul 2008 16:52:42 GMT]]></title><description><![CDATA[<p>wenn es immer nur eine Instanz einer Klasse geben darf, dann kommt eigentlich immer das Singleton-Pattern in Frage. Vielleicht setzt du das ein. alles static ist nicht gut, weil du die initialisierungsreihenfolge der statischen member nicht bestimmen kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545832</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Fri, 11 Jul 2008 16:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Fri, 11 Jul 2008 17:22:55 GMT]]></title><description><![CDATA[<p>Warum überhaupt Klassen dafür? Was brauchst du an Statusinformationen, dass du freie Funktionen ausschließt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545847</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 11 Jul 2008 17:22:55 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Sat, 12 Jul 2008 09:06:17 GMT]]></title><description><![CDATA[<p>Maxi schrieb:</p>
<blockquote>
<p>wenn es immer nur eine Instanz einer Klasse geben darf, dann kommt eigentlich immer das Singleton-Pattern in Frage. Vielleicht setzt du das ein. alles static ist nicht gut, weil du die initialisierungsreihenfolge der statischen member nicht bestimmen kannst.</p>
</blockquote>
<p>Danke für den Hinweis.<br />
Nachdem ich mir das Singleton-Pattern angeschaut habe, weis ich jetzt mehr über die Nachteile bescheid. Durch den private-Konstruktor ist meine Überlegung die Hardware-Initialisierung durch den Konstruktor zu machen, hinfällig.<br />
Aber da diese Initialisierung ja nur einmal im Programm durchgeführt werden muss, ist es ja kein Aufwand eine Init-Routine aufzurufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546061</guid><dc:creator><![CDATA[DrSchuftware]]></dc:creator><pubDate>Sat, 12 Jul 2008 09:06:17 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Sat, 12 Jul 2008 09:08:30 GMT]]></title><description><![CDATA[<p>Ehm, warum hinfällig? Der Konstruktor wird doch trotzdem aufgerufen und somit ist darin auch eine init möglich. Der private Konstruktor wird halt von der statischen Memeber &quot;aufgerufen&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546062</guid><dc:creator><![CDATA[BarnieGeroellheimer]]></dc:creator><pubDate>Sat, 12 Jul 2008 09:08:30 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Sat, 12 Jul 2008 09:28:07 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Warum überhaupt Klassen dafür? Was brauchst du an Statusinformationen, dass du freie Funktionen ausschließt?</p>
</blockquote>
<p>Vielen Dank für deinen Einwand.<br />
Z.B. für den Microcontroller möchte ich einige Status-Variablen, da die Werte in der Hardware nur als verschachtelte Bitmuster vorliegen und deshalb nur umständlich auszulesen sind. Auf diese Status-Variablen sollte kein direkter (Schreib-)Zugriff möglich sein.<br />
Für andere Hardware-Teile werde ich mir jeweils überlegen, ob ich einen Status wirklich brauche.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546070</guid><dc:creator><![CDATA[DrSchuftware]]></dc:creator><pubDate>Sat, 12 Jul 2008 09:28:07 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Sat, 12 Jul 2008 09:31:34 GMT]]></title><description><![CDATA[<p>BarnieGeroellheimer schrieb:</p>
<blockquote>
<p>Ehm, warum hinfällig? Der Konstruktor wird doch trotzdem aufgerufen und somit ist darin auch eine init möglich. Der private Konstruktor wird halt von der statischen Memeber &quot;aufgerufen&quot;.</p>
</blockquote>
<p>Uups - du hast recht, daran habe ich nicht gedacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546072</guid><dc:creator><![CDATA[DrSchuftware]]></dc:creator><pubDate>Sat, 12 Jul 2008 09:31:34 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Sun, 13 Jul 2008 16:45:15 GMT]]></title><description><![CDATA[<p>Für welchen µC soll denn das ganze sein?? ARM, AVR, PIC ???</p>
<p>grüüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546712</guid><dc:creator><![CDATA[zeusosc]]></dc:creator><pubDate>Sun, 13 Jul 2008 16:45:15 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen für Hardware-Resourcen - alles static oder was? on Mon, 14 Jul 2008 16:37:09 GMT]]></title><description><![CDATA[<p>zeusosc schrieb:</p>
<blockquote>
<p>Für welchen µC soll denn das ganze sein?? ARM, AVR, PIC ???</p>
<p>grüüße</p>
</blockquote>
<p>Leider weder-noch: Für einen NEC V850ES-Controller<br />
und (noch mehr leider) IAR-Compiler.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547221</guid><dc:creator><![CDATA[DrSchuftware]]></dc:creator><pubDate>Mon, 14 Jul 2008 16:37:09 GMT</pubDate></item></channel></rss>