Hallo - Hoppla.... Matthias Böttcher schrieb: Am 20. Februar 2012 14:47 schrieb SchmiTTT <cv.schmitt@googlemail.com>:Stimmt nicht ganz, dass der Code "garnichts" macht. Gucke genau hin. Jede einzelne Adresse im RAM-Speicher wird auf den boolean - Wert TRUE gesetzt. Nachdem der RAM-Speicher dann mit TRUE aufgefuellt ist, wird ein chip-Reset gemacht mit dem bios-chip. (der RAM-Speicher wird losgelassen.)Hallo SchmiTTT, ich habe mir mal die Mühe und den Spaß gemacht, mir den von Dir geschrieben C-Code anzusehen, der hier http://lists.debian.org/debian-mentors/2012/02/msg00453.html veröffentlicht wurde. . Er macht effektiv: NICHTS. Nicht mal ein memory leak ist drin. Wirklich nur: nichts. Ich habe den Verdacht, dass Du nicht weißt, was Du da programmiert hast und dass Du nicht weißt, was Du mit dem Compiler tust. Also los:#include <stdio.h> #include <stdbool.h> #include <math.h> #include <stdlib.h> #include <signal.h> Hier hast Du was ganz wesentliches dieser Funktion vergessen... Bitte die Latte auskommentierter include's nicht einfach unterschlagen. Die füllen nämlich den Code beträchtlich. Ohne Leerläufe bliebe nur ein trauriges Gerippe von: 1. 5 include's 2. Dekleratioen von: 1 int; 4 usint;. 2 lusint 3. 3 statischen Ausgaben 4. einer Leerlaufschleife übrig. Ja- wenn ich meine Displays so Volltexten würde, wären die User hell begeistert.... :-Pint main( int argc, char *argv[] ) { int cp; unsigned int bios; unsigned int BIOS; unsigned int Bios; unsigned int reset; long unsigned int mx; long unsigned int *px,**ppx;Hier werden ein paar Variablen vom Typ int, unsigned int, Zeiger auf einen int und Zeiger auf einen Zeiger auf einen int deklariert.printf("\n ... Attributes : Adresses: hex-Code: pointers: hex-Code: pointers to pointers: hex-Code: \n"); printf("_____________________________________________________________________________________________________________________________________");Eine statische Ausgabe auf stdout.for ( mx = true; mx <= 4194304; mx++ )Hier wird eine Schleife aufgebaut, die von mx = 1 (laut stdbool.h ist true==1) bis 4194304 durchlaufen wird, also 4194304 mal, da mx im Schleifenrumpf nichts zugewiesen wird und nur durch den unären increment Operator ++ jeweils um 1 erhöht wird.{ cp=false;Der int-Variable cp wird der Wert 0 (laut stdbool.h ist false==0) zugewiesenpx = &mx;Die Variable px (Typ: Zeiger auf einen int) erhält als Wert die Adresse von mxppx = & px;Die Variable ppx (Typ: Zeiger auf einen Zeiger auf einen int) erhält als Wert die Adresse von pxprintf("\n ... Addresses are here ... \t %lu \%16lX \t %lu \t %16lX \t %lu \t %16lX ", mx, mx, (unsigned long)&px[mx], (unsigned long)&px[mx], (unsigned long)&ppx[mx], (unsigned long)&ppx[mx] ); printf("\n ... now them resetted ... \t %lu \%16lX \t %lu \t %16lX \t %lu \t %16lX ", mx, mx, (unsigned long)&px[mx], (unsigned long)&px[mx], (unsigned long)&ppx[mx], (unsigned long)&ppx[mx] );Wieder irgendeine Ausgabe auf stdout - sonst nichts. Nicht mal eine Zuweisung innerhalb der Argumente von printf()}bios=true; BIOS=true; Bios=true; reset=true;Den Variablen bios, BIOS, Bios und reset (alle vom Typ unsigned int) wird der Wert 1 zugewiesen. Mit diesen Variablen wird im ganzen Programm nichts gemacht, d.h. ihr Inhalt wird nie verwendet.cp=false;Der Variablen cp (Typ int) wird der Wert 0 zugewiesen. Auch mit dieser Variablen wird im ganzen Programm nichts gemacht, d.h. ihr Inhalt wird nie verwendet.printf("\n\n\n\t\t\t\t\t ... dunno !!! \n\n\n\n\n\n");Eine statische Ausgabe auf stdout.return (0); }Das war's. Dein Programm erzeugt 8388611 ( 2 + 2*4194304 + 1) Zeilen Ausgabe auf stdout, sonst nichts. Es wird nie in den Speicher geschrieben, außer in die von Dir deklarierten Variablen. Es wird den Zeigervariablen im Schleifenrumpf jeweils ein Wert zugewiesen, so dass jeweils eine andere Zeile mit printf() erzeugt wird. Und es wird nach der Schleife den int-Variablen einmalig ein Wert zugweisen, der nie benutzt wird, so dass der Compiler das wahrscheinlich schon wegoptimiert. Schade um deine Mühe! Matthias Da müsste für die Bedienung vor den Anlagen wirklich nicht viel gelesen werden --------------------------------- Salvalaggio Marino |