Al fine di garantire che un certo codice di inizializzazione viene eseguito prima di main
(utilizzando Arduino/AVR-gcc) Ho codice come il seguente:Come posso eseguire l'inizializzazione pre-main in C/C++ con avr-gcc?
class Init {
public:
Init() { initialize(); }
};
Init init;
Idealmente mi piacerebbe essere in grado di scrivere semplicemente:
initialize();
ma questo non compila ...
c'è un modo meno dettagliato per ottenere lo stesso effetto?
Nota: il codice fa parte di uno schizzo Arduino così la funzione main
viene generato automaticamente e non può essere modificato (ad esempio per chiamare initialize
prima di qualsiasi altro codice).
Aggiornamento: idealmente l'inizializzazione verranno eseguiti nella funzione setup
, ma in questo caso non v'è altro codice a seconda che si verifica prima main
.
+1 Semplice e pulito. Funziona sicuramente anche su avr-gcc? –
Non lo so per certo, dato che non ho mai usato avr-gcc, ma secondo questa pagina http://www.nongnu.org/avr-libc/user-manual/porting.html, avr-gcc supporta altri tipi di attributi. –
Ho provato questo usando il software Arduino (che è supportato da avr-gcc) e funziona. Accetterò questa risposta, grazie. –