Wrzucenie funkcji loop do innego pliku w projekcie (nie w INO tylko w .c) - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Wrzucenie funkcji loop do innego pliku w projekcie (nie w INO tylko w .c) (/watek-wrzucenie-funkcji-loop-do-innego-pliku-w-projekcie-nie-w-ino-tylko-w-c) |
Wrzucenie funkcji loop do innego pliku w projekcie (nie w INO tylko w .c) - majkel1295 - 02-06-2017 Witajcie, Przygodę z Arduino zacząłem dość niedawno i mam pewien problem, którego sam nie rozwiążę bazując na swojej wiedzy. Czy możliwe jest, by przenieść funkcję wykonawczą LOOP z głównego pliku do pliku dodanego o rozszerzeniu .c, oczywiście zawartego w tym samym folderze projektowym? Nie mogę nigdzie znaleźć rozwiązania. Z góry serdecznie dziękuję za wszelkie pomoce.
RE: Wrzucenie funkcji loop do innego pliku w projekcie (nie w INO tylko w .c) - namok - 02-06-2017 A po co tak kombinujesz? Możesz w funkcji loop wywołać funkcje zawarte w pliku z rozszerzeniem .c tyle że w projekcjie musisz dołączyć jego plik nagłówkowy z rozszerzeniem .h. RE: Wrzucenie funkcji loop do innego pliku w projekcie (nie w INO tylko w .c) - majkel1295 - 02-06-2017 Faktycznie, można tak zrobić... czyli mogę wymyślić funkcję którą to raz wywołam w pętli loop (przy czym będzie to jedna linijka kodu w LOOP?) i całą zawartość pętli loop przenieść do tej funkcji? Muszę coś takiego zrobić bo czepia się mnie prowadzący na projekcie, że chce funkcję wykonawczą w oddzielnym dodatkowym pliku. RE: Wrzucenie funkcji loop do innego pliku w projekcie (nie w INO tylko w .c) - Robson Kerman - 03-06-2017 W ogóle, dobrą praktyką programistyczną jest, jak to napisałeś "całą zawartość pętli loop" umieszczać w oddzielnych blokach. Czy to w funkcjach, strukturach, klasach - zależy co tam wykombinowałeś. A to czy ty te swoje funkcje umieścisz w tym samym pliku co pętla główna, czy w oddzielnym, dla kompilatora nie ma znaczenia, ponieważ wywołanie funkcji, jest dla kompilatora, równoznaczne z jej wpisaniem w miejscu wywołania. Pisanie funkcji i klas w oddzielnym pliku, niesie ze sobą niewspółmierne korzyści. Możesz taką klasę (czy funkcję itp.) wykorzystać w innym projekcie, podając po prostu ścieżkę do pliku z tą klasą(czy funkcją itp.). Pisanie funkcji w oddzielnych plikach, rządzi się swoimi prawami. Musisz stworzyć dwa piki. Jeden z rozszerzeniem .h (lub .hpp, zależy od standardu) i drugi z rozszerzeniem .c (lub .cpp, zależy od standardu). Plik nagłówkowy .h zawiera tylko deklaracje funkcji, plik .c zawiera ścieżkę do pliku .h oraz definicje funkcji. Do pliku głównego (tego z funkcją główną) dołączamy plik nagłówkowy poleceniem: #include <ścieżka_do pliku.h> Jeśli zawiera funkcje, to możemy po prostu te funkcje wywoływać, jeśli klasę, lub klasy, to budujemy na jej podstawie obiekt i pracujemy normalnie jak byśmy go skonstruowali w pliku głównym. RE: Wrzucenie funkcji loop do innego pliku w projekcie (nie w INO tylko w .c) - majkel1295 - 04-06-2017 Serdecznie dziękuję wszystkim za pomoc! |