PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zugriff auf globale static Variable mit extern?!



tanis
22-08-2005, 09:01
Hallo,

ich hab schon gegoogelt, im Forum gesucht und gemacht und getan aber nix gefunden.
Ich habe folgendes Problem,
ich habe in bsp1.c


static char *str_test;


und in bsp2.c


extern char *str_test;


aber irgendwie funzt das nicht?! Static besagt doch das die Variable nur in dem Modul bsp1.c verfügbar ist, ich möchte allerdings von bsp2.c aus auch dort reinschreiben ohne das ich das static in bsp1.c entfernen muss. Kann mir da einer weiterhelfen??

MfG tanis

locus vivendi
22-08-2005, 09:41
Ich glaube kaum, dass das geht. Extern und static widersprechen sich, es sind beides storage-class-specifier, und davon kann ein Objekt soweit ich weiß nur einen haben. Ich sehe aber ehrlich gesagt auch nicht so ganz das Problem. Du kannst doch folgendes in einer Übersetzungseinheit haben:


static int beispiel_var;

void setze_var(int val)
{
beispiel_var = val;
}

int liefer_var()
{
return beispiel_var;
}

Dann kannst du über die Funktionen auf die Variable zugreifen.

tanis
22-08-2005, 11:17
Danke locus vivendi! Das ist ne super Idee!! :-)

MfG tanis