|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 119
|
[c] header per gestori dei segnali
Salve a tutti, sto' facendo un programma abbastanza complesso per un progetto di un esame e volevo chiedere qualche consiglio. Dovendo gestire i segnali mi trovo nella situazione di dover scrivere i gestori per il loro trattamento. Siccome il programma consta di vari file diversi, mi chiedevo come organizzare questi gestori. Dovrei scrivere i gestori in un nuovo file e poi includere il suo header in tutti gli altri? In questo modo raccoglierei tutti i gestori in un solo posto e avrei solamente da fare questa include.
Della serie, creare gestoreSegnali.c, gestoreSegnali.h e includere in tutti gli altri file del progetto gestoreSegnali.h. Non avendo mai fatto un progetto cosi' grosso sono un po' indeciso su queste scelte progettuali. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Potrebbe essere una buona idea
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 119
|
grazie mille
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 119
|
Scusa se stresso ancora. Nei lucidi delle lezioni, quando ci sono esempi di gestori di segnali, la firma della funzione e' sempre static void gestore (int sig); Non capisco il motivo dello static. Infatti se dichiaro la funzione static in un altro file poi nn la posso usare al di fuori del file stesso, rendendo impossibile la soluzione che voglio usare. C'e' secondo voi qualche motivo per mantenere static i gestori?
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Le funzioni static non sono visibili all'interno di altri moduli del sorgente. E' chiaro quindi che tu non le possa dichiarare static. Dal punto di vista dell'utilizzo, static o non static non dovrebbe cambiare niente.
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 119
|
Un ultima cosa che mi e' venuta in mente solo ora. Siccome i gestori li dovro' installare tramite la funzione sigaction() e attraverso una struttura, queste cose le posso fare una volta per tutte nel file che sarebbe gestoreSegnali.c? Altrimenti dove lo dovrei fare? Il progetto infatti consta di alcuni file, tra cui una libreria di funzioni per usare i socket, quindi naturalmente dovro' gestire i segnali. Il fatto e' che nn so' dove devo installare i gestori. Negli esempi della prof crea sempre uno stupidissimo main dove crea la struttura, installa il gestore dell'esempio e poi fa' qualcosa. Non credo pero' che questo lavoro debba essere fatto per ogni file che creo... Sono un po' confuso...
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il modo migliore è farti una funzione in gestoreSegnali.c che installa tutti i gestori e che chiamerai dal main
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:08.



















