Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > 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: > <font face="Courier New" size=2>3 0 0 0 57 1 </font> > , dann enthält das Programm 253 Byte an globalen Variablen. > > Bedenke, daß innerhalb von Threads definierte Variablen lokal sind, > obwohl sie globalen Charakter haben: > <code>thread xy > { int a, b, c; > ... > }</code> > Solche Variablen kann man aber ebenfalls aus der VMC-Datei herauslesen. > (Jedoch an anderer Stelle.) > > > MfG André H.