Skocz do zawartości

STM32F1 z wlasną wspólną biblioteką do wszystkich projektów.


romkli

Pomocna odpowiedź

Witam serdecznie.

Mam pytanie odnośnie napisania biblioteki wspólnej do wszystkich swoich projektów.

Założenie: napisać bibliotekę nie pod dane urządzenie, lecz wspomagająca działanie.

Gdyby biblioteka była od urządzenia, byłoby możliwe importować ją do projektu. Ja myślę bardziej o bibliotece, zwspomagająca działanie i dopisywanie nowych funkcji. W takiej sytuacji byłoby ciężko lub byłoby niemożliwe importowanie z zachowaniem czy aby wersja tej biblioteki byłaby najnowsza. Wtedy możnaby do nowego projektu dopisać #include (ze ścieżką dostępu do pliku biblioteki).

Link do komentarza
Share on other sites

Gość es2

Napisałem takie biblioteki dla AVR. Dołącza sie je prze #include <> a nie przez #include"". Ma to wiele zalet ale ma i wady. Po rozbudowaniu biblioteki, może okazać się, że projekt z ich użycie z przed roku nie chce się kompilować. Po poprawienie błędów kompilacji, może się okazać, że projekt po skompilowaniu nie mieści się w uC bo biblioteka "spuchła" w miedzy czasie. Dlatego, zawsze do projektu, dołączałem archiwum z bibliotekami na jakich był kompilowany projekt.

Dla ARM wybrałem inne rozwiązanie. Mam w jednym miejscu biblioteki, które przekopiowuję do projektu. W razie potrzeby, mogę do projektu skopiować nowsze wersje bibliotek.

Pomysł masz dobry ale przy jego realizacji trzeba uważnie wprowadzać zmiany, robić to tak, aby starsze programy mogły z nich korzystać bez przeszkód. Dodając nową opcje kompilacji przez #define, należy uwzględnić, ze stara wersja softu "nic o takiej opcji nie wie". To prowadzi do wprowadzenia w kodzie wartości domyślnej (#ifndef ...... #define). Dodając nowe funkcje, aby kod zanadto się nie rozrósł, trzeba ująć je w #ifdef i umożliwić ich włączenie. Z czasem ciężko to wszystko ogarnąć.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.