Variabili in file separato

9 Anni 11 Mesi fa #1 da RicSoft
Variabili in file separato è stato creato da RicSoft
Ciao a tutti, vi porgo un mio dubbio riguardo la possibilità di dichiarare variabili globali in un file separato.
Mi spiego meglio il mio progetto è composto dai seguenti file:
main.c (file principale)
init.c (file di inizializzazione porte, periferiche, ecc)
interrupt.c (file di interrupt)
var.h (file dichiarazione prototipi di funzione, variabili)
avendo la necessità di condividere variabili tra il main.c e interrupt.c ho inserito nel file var.h la variabile da usare, esempio: "volatile unsigned char FlagInt;".
Avendo letto da qualche parte che in C le variabili vanno dichiarate nel blocco dove vengono usate, mi chiedo se la mia procedura è corretta o esiste un altro modo. scusate la lunghezza del post Vi ringrazio anticipatamente.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • RicSoft
  • Avatar di RicSoft
  • New Member
  • New Member
Di più
9 Anni 11 Mesi fa #2 da RicSoft
Risposta da RicSoft al topic Variabili in file separato
Nessuna risposta :(

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • RicSoft
  • Avatar di RicSoft
  • New Member
  • New Member
Di più
9 Anni 11 Mesi fa #3 da stainless
Risposta da stainless al topic Variabili in file separato

RicSoft ha scritto: dichiarare variabili globali

la procedura è corretta poichè vuoi variabili globali, e cioè variabili che possono essere utilizzate da tutte le funzioni.
Se invece le variabili vengono dichiarate all'interno di una specifica funzione possono essere utilizzate solo da quella funzione.

int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • stainless
  • Premium Member
  • Premium Member
Di più
9 Anni 11 Mesi fa #4 da StefA
Risposta da StefA al topic Variabili in file separato
L'inclusione di file con relative variabili e definizioni è un argomento estrememente delicato, compilatore che vai usanza che trovi!
Se ti funziona così come hai fatto va bene.
Generalmente se scrivi una libreria si creano due file libreria.c (dove c'è il corpo delle funzioni) e libreria.h (dove ci sono definizioni di prototipi e variabili).
Quando ti serve usare una funzione della libreria includi il file .h, però se ti serve usare la funzione da più parti e più file potrebbero esserci problemi di doppia inclusione.
Con il C18 / X8 non ho mai fatto progetti con tanti file separati quindi non so dorti con precisione, con il Kail si hanno parecchie complicazioni e si adottano delle DEFINE..

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
9 Anni 11 Mesi fa #5 da RicSoft
Risposta da RicSoft al topic Variabili in file separato
Grazie staninless e StefA per le risposte, tutto è scaturito dal fatto che ho creato un file separato per l'interrupt che normalmente vieme inserito nel main.c.
Mi sono accorto che le variabili globali dichiarate nei relativi file sono visibili solo alle funzioni scritte all'interno del file, così ho creato un file.h con dichiarato tutte le variabili globali e incluso (#include "file.h") nel file dove necessitava la visibilità della variabile.
Ma visto che era solo un dubbio e tutto funziona correttamente continuerò ad usare questo metodo ;)


Raf

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • RicSoft
  • Avatar di RicSoft
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login