Napisałem, że hardcore
To normalne. Powody są takie:
albo masz _delay_ms() - wtedy się wywala, no bo jak?
Masz wtedy taki warning:
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
albo nie włożyłeś funkcji z kodem do osobnego pliku

Można też użyć zamiast
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
dać
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Działa, nawet jeśli jest wszystko w jednym pliku
Jest też zależność od flagi -fwhole-program - ona najczęściej jest z defaultu, ale tego nie ćwiczyłem - myślę że to dlatego trzeba dać w osobnym pliku...
volatile działa tylko dla zmiennych, ale zauważyłem że czasem pomaga...
Generalnie to ja w życiu nie kombinuję z optymalizacją
------------------------ [ Dodano po: 34 minutach ]Zalączam projekcik (rozgrzebany, ale się kompiluje i działa) z optymalizacją
Biblioteka może ugryźć, lojalnie uprzedzam

A kurczę o najważniejszym zapomniałem. Jak chcesz jedną funkcję "zdeoptymalizować" można jeszcze tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.