-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.213.192.88.68!
not-for-mail
From: Piotr Gałka <p...@c...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Rynek pracy STM32
Date: Tue, 19 Jul 2022 18:21:19 +0200
Organization: news.chmurka.net
Message-ID: <tb6llt$lti$1$PiotrGalka@news.chmurka.net>
References: <b...@h...invalid>
<tar9mb$op1$1$cezar91@news.chmurka.net>
<62d13089$0$550$65785112@news.neostrada.pl>
<tarcdi$qcj$1$cezar91@news.chmurka.net> <tardm4$3173v$1@dont-email.me>
<targas$sql$1$cezar91@news.chmurka.net> <tarnfv$327p4$1@dont-email.me>
<tasdmj$etf$1$PiotrGalka@news.chmurka.net> <taselh$34k3h$1@dont-email.me>
<tb43lu$1ls$1$PiotrGalka@news.chmurka.net> <tb44nf$fm11$1@dont-email.me>
<tb4abv$5ml$1$PiotrGalka@news.chmurka.net> <tb4e3k$i1rd$1@dont-email.me>
<tb4epm$88p$1$PiotrGalka@news.chmurka.net> <tb4ffr$icc3$1@dont-email.me>
<tb4hhs$9qd$1$PiotrGalka@news.chmurka.net> <tb4iek$j5sm$1@dont-email.me>
<tb4irf$ahm$1$PiotrGalka@news.chmurka.net> <tb4jc1$jcbf$2@dont-email.me>
<tb63t5$ajv$1$PiotrGalka@news.chmurka.net> <tb650r$12ec9$1@dont-email.me>
<tb69h8$edq$1$PiotrGalka@news.chmurka.net> <tb6a9r$13mqc$1@dont-email.me>
<tb6cd5$g3f$1$PiotrGalka@news.chmurka.net> <tb6d2u$143ic$1@dont-email.me>
NNTP-Posting-Host: 213.192.88.68
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 19 Jul 2022 16:21:17 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="PiotrGalka";
posting-host="213.192.88.68"; logging-data="22450";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
In-Reply-To: <tb6d2u$143ic$1@dont-email.me>
Content-Language: pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:773244
[ ukryj 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.
Następne wpisy z tego wątku
- 19.07.22 18:26 Dawid Rutkowski
- 19.07.22 18:27 Janusz
- 19.07.22 18:35 Janusz
- 19.07.22 18:39 Janusz
- 19.07.22 18:40 heby
- 19.07.22 18:41 heby
- 19.07.22 18:43 heby
- 19.07.22 18:50 heby
- 19.07.22 18:55 Janusz
- 19.07.22 18:58 Janusz
- 19.07.22 19:03 heby
- 19.07.22 19:04 Janusz
- 19.07.22 19:05 heby
- 19.07.22 19:09 heby
- 19.07.22 19:13 Piotr Gałka
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=