Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Speicherbedarf der globalen Variablen Kategorie: Programmierung (von André H. - 5.08.2006 21:45)
Als Antwort auf Speicherbedarf der globalen Variablen von Bernd Rüffer - 2.08.2006 15:17
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0, OSOPT V3.1
Hallo Bernd,

> die Grö�e vom Programmcode und der Konstanten kann ich recht leicht ermitteln.
> DOCH was ist mit Speicherbedarf der globalen Variablen?
> Steht das irgendwo?
> (Nachzählen ist bei grö�eren Projekten recht mühsam.)

Gut, Nachzählen ist wirklich zu mühsam.
Den belegte Platz für globale Variablen kann man über die VMC-Datei nach
dem Kompilieren herausbekommen.
Ã?ffne dazu die VMC-Datei mit einem Texteditor. (z.B. Notepad)
Nach den ersten drei Zeilen, welche die Kennung, die Anzahl der Konstanten-Bytes,
sowei die Anzahl der VM-Words enthalten und einer Leerzeile,
kommt die erste Konstantenzeile.
Die ersten beiden (Byte-)Zahlen sind das Word, welches die Anzahl der Threads enthält.
Die nächsten Zahlen enthalten den Word-Thread-Offset des ersten Threads, also die Startadresse.
Danach kommt das Word für den Stackpointer des ersten Threads.
Die Words sind immer mit LSB first angegeben.
Dazu mu� man jetzt wissen, da� pro Thread 20 Byte des RAM benötigt werden.
Somit kann man den mit globalen Variablen belegten Speicherplatz folgendermaÃ?en berechnen:
Speicherplatz = "Stack-Pointer erster Thread" - ("Anzahl Threads" x 20)
Wenn in der VMC die ersten 6 Zahlen folgendermaÃ?en lauten:
3 0 0 0 57 1
, dann enthält das Programm 253 Byte an globalen Variablen.

Bedenke, daÃ? innerhalb von Threads definierte Variablen lokal sind,
obwohl sie globalen Charakter haben:
thread xy
{ int a, b, c;
 ...
}

Solche Variablen kann man aber ebenfalls aus der VMC-Datei herauslesen.
(Jedoch an anderer Stelle.)


MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Speicherbedarf der globalen Variablen (von Bernd Rüffer - 8.08.2006 18:32)
    Re: Speicherbedarf der globalen Variablen (von André H. - 13.08.2006 15:44)