Logi esp32c3

User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

YoMan wrote: Tue Feb 11, 2025 12:38 pm 2. W tej chwili jest jako pierwsza linijka w setup i się kompiluje, przesunięcie o 2 linijki w górę poza setup nie pozwala na kompilację, sypie błędami.
Gdzie zatem jest błąd i jak to powinno wyglądać prawidłowo?
Ogólnie pliki .h i .hpp to pliki nagłówkowe, gdzie powinny być deklaracje klas, zmiennych, metod itd.
Pliki .c i .cpp służą do przechowywania kodu. Czasem w headerach daje się krótkie fragmenty kodu, np. przy metodach jednolinijkowych, albo przy szablonach.

"include" powoduje, że preprocesor kompilatora, wstawia zawartość pliku w dane miejsce. Ogólnie da się tym wstawić wszystko i wszędzie, ale powinno się tego używać tylko do załączania plików nagłówkowych, aby dany plik/jednostka kompilacji, znała deklaracje metod/klas itp.

Wstrzykiwanie kodu w losowe miejsca, przy pomocy include to proszenie się o problemy, bo w tym się łatwo pogubić.

Twój kod się nie kompiluje po przeniesieniu include kilka linijek wyżej, bo wtedy poza funkcją "setup" masz kod wykonywalny (operacje new coś tam), a kod wykonywalny może być tylko w ciele metod/funkcji.

Ogólnie przy tak krótkich programach, to najlepiej wszystko w jeden plik wstawić i tyle. Dopóki jest czytelnie, to tak może zostać.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

klew wrote: Tue Feb 11, 2025 1:53 pm
OK. Dzięki za wstępne rozjaśnienie. Dokształcam się już dalej z docentem GPT
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024

Return to “Pomoc”