Closed ferrerax closed 4 years ago
@ferrerax
Si possesim int hola
a cada fitxer on s'usa tindries l'error de compilacio multiple definitions of variable 'hola'
A mes, els externs ja estan com s'especifica en els fitxers que has passat. En els wrapp.h estan els externs i nomes els externs, en el config.h estan les definicions de les variables extern del wrapp.h
Per aquesta rao proposo el canvi de nom dels fitxers:
config.h => defaults.h wrapp.h => variables.h
Els externs declaren la variable però no la defineixen. La gràcia es que en els headers es posen els externs
extern int hola
. Però això no defineix la variable (no li assigna cap posició a la memòria). Per tant si ara es fes unhola=3
ens petaria. Cal declarar-la ambint hola
a cada fitxer .c on s'usi. Uns posts molt bons que ho expliquen -> (https://www.geeksforgeeks.org/understanding-extern-keyword-in-c/) (https://stackoverflow.com/questions/15841495/the-usage-of-extern-in-c)