Skocz do zawartości

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


Pomocna odpowiedź

Napisano

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).

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ąć.

I jak to niewiele do szczęścia potrzeba.

Dzięki za podpowiedż. Myślę, że dam radę, tylko żeby porządek był w bibliotekach i powinno byś OK!

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...