Ciao a tutti,
sto facendo un programma piuttosto complesso in C e mi sto incartando con la compilazione, mi perdo nei meandri degli include e dei vari file header, tenendo conto che ci sono variabili globali lì definite.
hO FATTO FVARI TENTATIV E MI SEMBRA CHE QUESTA SIA LA PIù GIUSTA, MA EVIDENTEMENTE NON LO P 
Faccio uno schema di come sono le mie variabili e le mie funzioni, e come ho diviso la dichiarazione e l'inizializzazione nei vari file:
file UNO.c :
codice:
//UNO.c
#include "VARIABILE.h"
#include "DUE.h"
#include "TRE.h"
extern int GLOB; //è definita e inizializzata in VARIABILE.h
extern int A, B; //sono definite e inizializzate in DUE.h
extern struct flock L1, L2; // sono definite e inizializzate in TRE.h
file DUE.c :
codice:
//DUE.c
#include "VARIABILE.h"
#include "DUE.h"
int A, B; //sono definite e inizializzate in DUE.h
extern int GLOB; //è definita e inizializzata in VARIABILE.h
file TRE.c :
codice:
//TRE.c
#include "DUE.h"
struct flock L1, L2; // sono definite e inizializzate in TRE.h
file DUE.h :
codice:
//DUE.h
#ifndef DUE_H
#define DUE_H
int A = 0;
int B = 0;
#endif
file TRE.h :
codice:
//TRE.h
#ifndef TRE_H
#define TRE_H
struct flock L1 = {F_RDLCK, SEEK_SET, 0, 0};
struct flock L2 = {F_WRLCK, SEEK_SET, 0, 0};
#endif
file VARIABILE.h :
//VARIABILE.h
codice:
//VARIABILE.h
#ifndef VARIABILE_H
#define VARIABILE_H
int GLOB = 0;
#endif
l'errore del compilatore è chiaro, le variabili vengono definite più volte quindi sto chiaramente sbagliando qualcosa con le disposizioni delle variabili deni vari header e relativa dichiarazione all'interno degli header e .c.
quetso è l'output di compilazione :
codice:
UNO.o(.bss+0x0): multiple definition of `VARIABILE'
DUE.o(.bss+0x0): first defined here
UNO.o(.bss+0x4): multiple definition of `L1'
TRE.o(.bss+0x0): first defined here
UNO.o(.data+0x0): multiple definition of `L2'
TRE.o(.data+0x0): first defined here
UNO.o(.bss+0x14): multiple definition of `A'
DUE.o(.bss+0x4): first defined here
UNO.o(.bss+0x18): multiple definition of `B'
DUE.o(.bss+0x8): first defined here
Se potete dirmi come disporre le varie cose mi sareste di grande aiuto e se qualcuno mi spiega più in generale dove vanno dichiarate le variabili globali per permettere a vari ".c" di usufruirne, mi fareste ancora più felice 
Grazie in anticipo