Hallo, schon lange stelle ich mir die Frage, ob es nicht irgendwo im WWW eine Übersicht gibt, die die C Schlüsselwörter static, volatile, extern etc. einmal zu aufführt, dass man sofort erkennt in welchen Zusammenhang eine Variablendeklaration mit einem dieser Schlüsselwörter zu welcher Register Belegung etc. führt?
Uiiiiii, nicht gefunden? Wo hast du denn gesucht? Dann stell doch m) Vermutungen auf, wir schauen uns's dann an.
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial oder Suchfunktion im Forum oder er-google-n oder C-Buch
StandByMe schrieb: > zu welcher > Register Belegung etc. führt? In C gibt es keine Register. Genauso wie es auch keinen Stack gibt oder einen Heap. Wie ein Compiler die Forderungen des C-Sprachstandards umsetzt, ist alleine dem Compilerbauer überlassen. Das wir diese Begriffe Stack+Heap trotzdem benutzen, liegt darin begründet, dass dies die üblichen Implementierungen sind. Aber gefordert sind diese Dinge nirgends vom Sprachstandard. Das Schlüsselwort 'register' ist ein kleiner Sonderfall, welcher allerdings seit Jahrzehnten von den gängigen Compilern sowieso ignoriert wird. Es hat so gesehen heutzutage praktisch keine Daseinsberechtigung mehr.
Gerade bei µC wird man doch darauf achten müssen, wo eine Variable abgelegt wird oder nicht?
StandByMe schrieb: > Gerade bei µC wird man doch darauf achten müssen, wo eine Variable > abgelegt wird oder nicht? ja sollte man. Dafür sollte man halt C können und dann erst die spezialtäten vom µC lernen.
Peter II schrieb: > StandByMe schrieb: >> Gerade bei µC wird man doch darauf achten müssen, wo eine Variable >> abgelegt wird oder nicht? > > ja sollte man. Dafür sollte man halt C können und dann erst die > spezialtäten vom µC lernen. Erstens das und zweitens hat das recht wenig mit den im Ursprungsposting aufgeführten Schlüsselwörtern zu tun. Denn bei denen geht es um Lebensdauer, Gültigkeitsbereich bzw. Sichtbarkeit und weniger darum, wo Variablen angelegt werden. Eben entsprechend den C-Regeln. Das sich daraus für einen spezifischen Compiler gewisse Folgerungen ergeben, wo und wie er Variablen erzeugt, liegt in der Natur der Sache, ist aber nichts was vom Sprachstandard definiert wird. Hat man das Konzepte Lebensdauer von Variablen erst mal begriffen, dann ergibt sich daraus recht zwanglos wo eine Variable bei der Mehrheit der Compiler erzeugt wird. Ich sag absichtlich Mehrheit, weil ich nicht von allen C-Compilern die es gibt weiß, wie sie die Dinge handhaben.
Peter II schrieb: > Dafür sollte man halt C können und dann erst die > spezialtäten vom µC lernen. Siehste PeterII, da hab ich doch schonmal einen guten Anhaltspunkt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.