W celu zapewnienia, że niektóre kod inicjalizacji biegnie przed main
(przy użyciu Arduino/AVR-gcc) mam kod, takich jak:Jak przeprowadzić wstępną inicjalizację w C/C++ za pomocą avr-gcc?
class Init {
public:
Init() { initialize(); }
};
Init init;
Idealnie chciałabym móc po prostu napisać:
initialize();
ale to nie skompilować ...
Czy istnieje mniej gadatliwy sposób, aby osiągnąć ten sam efekt?
Uwaga: kod jest częścią szkicu Arduino więc funkcja main
jest generowany automatycznie i nie mogą być zmieniane (na przykład wywołać initialize
przed jakimkolwiek innym kodem).
Aktualizacja: idealnie inicjalizacji byłyby wykonywane w funkcji setup
, ale w tym przypadku jest inny kod w zależności od tego, który występuje przed main
.
+1 Proste i zadbane. Czy to też działa na avr-gcc? –
Nie wiem na pewno, ponieważ nigdy nie używałem avr-gcc, ale według tej strony http://www.nongnu.org/avr-libc/user-manual/porting.html, obsługuje avr-gcc inne rodzaje atrybutów. –
Próbowałem tego przy użyciu oprogramowania Arduino (które jest wspierane przez avr-gcc) i działa. Przyjmuję tę odpowiedź, dziękuję. –