View Full Version : contenuto di un file header
cicvsalba
15-08-2006, 18:22
Qualcuno saprebbe dirmi se un file header deve contenere tutti i protitipi delle funzioni del rispettivo file .c o come presumo io solo quelli che devono poi essere utilizzati anche da altri file .c che includeranno tale header? In due parole contiene solo prototipi di funzioni utilizzate da entrambi?
trallallero
16-08-2006, 08:41
Qualcuno saprebbe dirmi se un file header deve contenere tutti i protitipi delle funzioni del rispettivo file .c o come presumo io solo quelli che devono poi essere utilizzati anche da altri file .c che includeranno tale header? In due parole contiene solo prototipi di funzioni utilizzate da entrambi?
non c'é una legge ben precisa ma é giusto metterci i prototipi di tutte le funzioni usate. Sta a te decidere se una funzione sia accessibile da fuori con il modificatore "static" (un pó come il "private" del C++ ). Altrimenti dove li metti i prototipi delle funzioni interne ?
Marco Giunio Silano
21-08-2006, 15:19
Qualcuno saprebbe dirmi se un file header deve contenere tutti i protitipi delle funzioni del rispettivo file .c o come presumo io solo quelli che devono poi essere utilizzati anche da altri file .c che includeranno tale header? In due parole contiene solo prototipi di funzioni utilizzate da entrambi?
Ma, sono convenzioni non regole... avevo scelto due strade (a seconda della complessità del progetto):
1)nell'h mettevo solo ciò che era esportabile: funzioni, define, strutture eccetera. Nel c quelloc he utilizzava solo il file c, prototipi di funz incluse.
2)creavo due .h, uno come quellod escritto nel punto 1, la'ltro con quello che seve solo al sorgente.
Ma sono scelte quasi personali o di gruppo o di progetto. L'importante è il ris sia pulito. Ho visto un .h per dieci o più .c... mi veniva male.
trallallero
21-08-2006, 15:38
Ma sono scelte quasi personali o di gruppo o di progetto. L'importante è il ris sia pulito. Ho visto un .h per dieci o più .c... mi veniva male.
perché ? pensa che stdio.h serve a tutti i .c del mondo :D
buongiorno eh :)
Marco Giunio Silano
21-08-2006, 15:41
perché ? pensa che stdio.h serve a tutti i .c del mondo :D
buongiorno eh :)
Ma buongiorno! :D
Intendevo che si sviluppa un bel progetto e si scrivono (metti) 20 file source e, invece di scrivere un .h per ognuno, viene scritto un .h che contiene in brodo primordiale di 20 .c. E il tutto rigorosamente mischiato. Non dirmi che questo ti piace... :Prrr:
OT: niente ferie? io mi sn fatto la sett di ferragosto, ora aspetto di scaricarmi le restanti.
trallallero
21-08-2006, 15:53
Ma buongiorno! :D
Intendevo che si sviluppa un bel progetto e si scrivono (metti) 20 file source e, invece di scrivere un .h per ognuno, viene scritto un .h che contiene in brodo primordiale di 20 .c. E il tutto rigorosamente mischiato. Non dirmi che questo ti piace... :Prrr:
no questo no ma mi piaceva contraddirti :ciapet:
OT: niente ferie? io mi sn fatto la sett di ferragosto, ora aspetto di scaricarmi le restanti.
still OT: ad Agosto non prenderó mai le ferie :O e poi essendo l'unico "lavoratore guadagnante soldi" in famiglia ne posso fare poche ... 1 sett a Settembre e una a Novembre :rolleyes:
Marco Giunio Silano
21-08-2006, 16:07
no questo no ma mi piaceva contraddirti :ciapet:
:D azzo e io che l'ho pure presa seriamente dimenticandomi ciò che dice la tua firma :muro: :doh: ;)
trallallero
21-08-2006, 16:09
:D azzo e io che l'ho pure presa seriamente dimenticandomi ciò che dice la tua firma :muro: :doh: ;)
in parte vera ma in effetti m'hai dimostrato che puó succedere che non sia bello un .h solo per molti .c :O
a domani :D
Marco Giunio Silano
21-08-2006, 16:15
in parte vera ma in effetti m'hai dimostrato che puó succedere che non sia bello un .h solo per molti .c :O
a domani :D
Mi è capitato averne uno solo per più .c, quando avevamo creato una libreria di funzioni (che attuavano dei movimento di motori step più appuntamenti su fotosensori) per un progetto linux. In quel caso abbiamo diviso i c a seconda dei "compiti" da eseguire, ma di h ce ne era uno solo perché logicamente era giusto così e perché il cliente ne voleva uno. Ma dipende dai casi.
PS: un onore leggere che trallallero scrive: "[...]in effetti m'hai dimostrato che puó succedere che non sia bello un .h solo per molti .c".
A domani!
trallallero
22-08-2006, 07:42
PS: un onore leggere che trallallero scrive: "[...]in effetti m'hai dimostrato che puó succedere che non sia bello un .h solo per molti .c".
troppo buono :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.