eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRynek pracy STM32Re: Rynek pracy STM32
  • Data: 2022-07-19 18:21:19
    Temat: Re: Rynek pracy STM32
    Od: Piotr Gałka <p...@c...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2022-07-19 o 15:54, heby pisze:

    > Tak. To statyczny polimorfizm. Wykonuje się go w C++ za pomocą
    > templates. Dokładnie tak jak opisujesz - umożliwia np. rozdzielenie
    > implementacji hardwareowej UART od kodu implementującego protokół bez
    > ani jednej nadmiarowej  instrukcji asm.

    Chyba muszę jeszcze raz poczytać o templates. Dotychczas rozumiałem, że
    to się głównie nadaje do opisania tego samego typu działań realizowanych
    na różnych typach zmiennych. Dla każdego typu zmiennych powstaje osobny
    kod (ale robi w sumie to samo tylko uwzględnia tym zmiennych).
    Jak to zaprząc do realizacji różnych funkcji przez każdą kopię (nie wiem
    jak to się nazywa) tego templates.
    Jak to zaprząc to machania na innej nodze gdy LED jest gdzie indziej
    podłączony.

    > To się też da zrobić dynamicznym polimorfizmem (polimorficzne klasy z
    > metodami wirtualnymi), ale ktoś może marudzić, że to zajmuje cenne cykle
    > zegarowe na indirect call. Dlatego istnieje też polimorfizm statyczny,
    > który nie generuje dodatkowego kodu.

    To chyba nie tyle chodzi o czas na indirect call co o wkładanie do kodu
    tylko tego co potrzeba.
    Jak mamy 20 pochodnych danej klasy z funkcjami wirtualnymi (wszystko
    opisane w jednym cpp) to kompilator potrafi zorientować się, że w tej
    aplikacji używana jest ta jedna klasa i nie wstawić kodu pozostałych?
    Bo jak zrobimy to w 20 plikach i będziemy ręcznie dokładać do projektu
    tylko to co potrzeba to właściwie my załatwiamy to co miało 'się załatwić'.

    >>> Nie używaj więc Buildera. Nikt tego nie sprawdza.
    >> Nie rozumiem.
    >
    > Napisałeś, że nie możesz używać C++ bo używasz Buildera. A po co używac
    > Buildera?

    Używam C++. Nie mogę użyć C++ 11.
    Używam Buildera 5 bo go kiedyś kupiliśmy i załatwia mi (łatwo i w znany
    mi sposób) interfejs użytkownika.
    Mam też Buildera 2010, ale używałem go tylko jak już koniecznie
    musiałem. Wynikało to z tego, że on się kłócił w Win7. Dawał się
    uruchomić raz. Jak odruchowo go zamknąłem to następne uruchomienie po
    resecie komputera.
    W pakiecie z Builderem 2010 jest jakaś biblioteka komunikacji przez
    internet, którą z wielkim trudem udało mi się (z 8 lat temu - już nic
    nie pamiętam) na tyle ogarnąć, aby się po UDP z naszymi urządzeniami
    komunikować. Jakieś udane próby TCPIP też chyba robiłem, ale nie
    rozumiem całej tej koncepcji z serwerami z komunikacją z wieloma
    chętnymi. Nie miałem musu tego robić, bo ja nie piszę aplikacji dla
    ludzi tylko tak na prawdę nasze programiki testowe.

    Teraz przeniosłem się na Win10. Na razie tylko sprawdziłem, że Buildera
    2010 można zamknąć i znów otworzyć. Ale Builder 2010 to też coś
    starszego niż C++11. A pisząc poprzedni post jak chciałem sprawdzić jak
    się te C++ nazywa, to zauważyłem, że oprócz 11 i 14 o których wiedziałem
    to też jest już 17. Z tego wynika, że tę książkę Stroustrupa
    przeglądałem między 2014 a 2017 rokiem.

    Nie wykluczam, że przeniosę wszystkie moje programy do 2010.

    Jak nie używać Buildera to napisz mi co mam używać.
    Ale nie chcę się zajmować samemu tworzeniem interfejsu użytkownika
    (dawno dawno temu, używając Turbo C++ 1.0, pisałem swoją obsługę okienek
    pod DOS).
    P.G.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: