Direttiva #error mplab c18
Salve a tutti,
sto scrivendo una libreria per alcuni mie progetti, e volevo inserire un po di controlli.
Ad esempio non sapevo che il c non avesse l'override delle funzioni ( se non è così illuminatemi
) e quindi scrivo la stessa funzione con un nome diverso che accetta gli stessi parametri e altri parametri aggiuntivi, vorrei però fare in modo che se ovviamente uso una funzione con meno parametri, non vado poi ad usarne un'altra con più parametri che fa la stessa cosa più altre operazioni, sarebbe un inutile spreco di istruzioni. Ragion per cui volevo aggiungerci i warning e gli error.
Purtroppo seguendo la guida c18 step by step e cercando anche in giro non ho ben capito come usarli. Ho provato anche a guardare i documenti di scrittura del c, ma continua a darmi errore il compilatore. ecco qui cosa ho cercato di fare:
Dove controllo è una variabile globale che all'uso di una funzione si incrementa, se usassi più volte la stessa funzione si incrementerebbe più di uno e in questo caso mi deve generare l'errore non permettendo di compilare il codice.
Ho provato a scrivere a logica anche così:
ed ho provato altre soluzioni senza avere nessuno buon risultato.
Probabilmente ho ragionato che non va usato all'interno di una funzione, forse è una direttiva che devo specificare in maniera globale. Anzi penso che sia proprio così. Ma allora come faccio per creare una lista di possibili errori, e utilizzarli quando alcune condizioni si vengono a verificare?
Grazie in anticipo di un vostro parare,
Marco Novelli.
sto scrivendo una libreria per alcuni mie progetti, e volevo inserire un po di controlli.
Ad esempio non sapevo che il c non avesse l'override delle funzioni ( se non è così illuminatemi
Purtroppo seguendo la guida c18 step by step e cercando anche in giro non ho ben capito come usarli. Ho provato anche a guardare i documenti di scrittura del c, ma continua a darmi errore il compilatore. ecco qui cosa ho cercato di fare:
- Codice: Seleziona tutto
Controllo++;
if (Controllo != 1)
{
#error non va bene cosi.
}
Dove controllo è una variabile globale che all'uso di una funzione si incrementa, se usassi più volte la stessa funzione si incrementerebbe più di uno e in questo caso mi deve generare l'errore non permettendo di compilare il codice.
Ho provato a scrivere a logica anche così:
- Codice: Seleziona tutto
Controllo++;
#if (Controllo != 1)
#error "non va bene cosi."
#endif
ed ho provato altre soluzioni senza avere nessuno buon risultato.
Probabilmente ho ragionato che non va usato all'interno di una funzione, forse è una direttiva che devo specificare in maniera globale. Anzi penso che sia proprio così. Ma allora come faccio per creare una lista di possibili errori, e utilizzarli quando alcune condizioni si vengono a verificare?
Grazie in anticipo di un vostro parare,
Marco Novelli.