hell-student
Lieutenant
- Registriert
- Nov. 2007
- Beiträge
- 671
Hallo Zusammen,
Ich habe gerade folgendes Problem. Ich möchte gerne von mehreren C-Files auf eine Variable zugreifen und diese z.b wenn vom Typ int inkrementieren. Problem dabei ist, dass ich nicht weis wo diese rein muss und ob als extern oder nicht. Mein Problem ist, dass wenn ich eine while(1) Schleife in die Main von Programm1 reinmache und per Konsole ausführe, in Programm2 eine Funktion ausführe, dass die Variable imkrementiert ich jedesmal nur 0 bekomme, statt 1,2,3.... Normal sollte doch, wenn ich die Variable im Programm1 implementiere hochgezählt werden. Der Printf Aufruf steckt direkt in der Funktion die vom Programm2 aufgerufen wird. Da ich mehrere Header-Files habe, wie schaffe ich es nun das die Variable global ist und nicht jeweil lokal? Vielleicht drück ich mich auch gerade etwas schlecht aus, sitze leider schon den ganzen Tach am PC =)
Es scheint mir so, als wäre bei jedem aufruf von Programm2 eine neue Instanz und deshalb immer der Startwert = 0
thx
Program1.c (Main) include global.h
Program1.h
global.h
global.c
lib.h include global.h
lib.c
Program2.c (Main) include lib.h
Program2.h
Ich habe gerade folgendes Problem. Ich möchte gerne von mehreren C-Files auf eine Variable zugreifen und diese z.b wenn vom Typ int inkrementieren. Problem dabei ist, dass ich nicht weis wo diese rein muss und ob als extern oder nicht. Mein Problem ist, dass wenn ich eine while(1) Schleife in die Main von Programm1 reinmache und per Konsole ausführe, in Programm2 eine Funktion ausführe, dass die Variable imkrementiert ich jedesmal nur 0 bekomme, statt 1,2,3.... Normal sollte doch, wenn ich die Variable im Programm1 implementiere hochgezählt werden. Der Printf Aufruf steckt direkt in der Funktion die vom Programm2 aufgerufen wird. Da ich mehrere Header-Files habe, wie schaffe ich es nun das die Variable global ist und nicht jeweil lokal? Vielleicht drück ich mich auch gerade etwas schlecht aus, sitze leider schon den ganzen Tach am PC =)
Es scheint mir so, als wäre bei jedem aufruf von Programm2 eine neue Instanz und deshalb immer der Startwert = 0
thx
Program1.c (Main) include global.h
Program1.h
global.h
global.c
lib.h include global.h
lib.c
Program2.c (Main) include lib.h
Program2.h