Jos määrittää jonkun muuttujan "extern" määritteellä, esim "extern int i;" tiedostossa "tiedostoA.c"
ja tiedostossa "tiedostoB.c" määrittää tämän "int i;", sekä molemmat tiedostot on mukana projektissa, niin tarviiko jotain lisäkikkailua vielä jottei tule tuota "unresolved external"-herjaa?! Visual c 6.0 kääntäjänä.
ja tiedostossa "tiedostoB.c" määrittää tämän "int i;", sekä molemmat tiedostot on mukana projektissa, niin tarviiko jotain lisäkikkailua vielä jottei tule tuota "unresolved external"-herjaa?! Visual c 6.0 kääntäjänä.
Vastaukset 2
Vanhimmat
Oikeampi tapa lienee "extern int i;" tiedostossa "tiedosto.h", tiedostossa "tiedostoA.c" käytetään vaan muuttujaa i suoraan ja tiedostossa "tiedostoB.c" on "int i,". Kummassakin c-tiedostossa lisäksi includoidaan "tiedosto.h".
extern "C" {
sitten jotain määrityksiä.
}
tai
extern nimi;
extern nimi2;
Mutta jotain int i; ei kannata määritellä tolleen.
yritä muutenkin käyttää mahdollisimman vähän glopaaleja muuttujia.
tai ainakin taggaa ne
int g_mun_glopaalimuuttuja;