eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRynek pracy STM32Re: Rynek pracy STM32
  • Data: 2022-07-21 16:41:40
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 21/07/2022 16:25, Piotr Gałka wrote:
    > Chciałem móc przekazać GUID jako parametr konstruktora - chyba mi się
    > nie udało.

    Czy GUIDy są zmienne? Pisałeś o statycznych.

    To miejsce na tempaltes, jesli są statyczne.

    > Tak na prawdę to nie wiem co chciałem i na czym poległem (za dawno było).
    > Pamiętam jedynie, że wniosek był - tylko tak to mi działa.
    > Wiedząc jak robię czasem inne klasy to zapewne:
    > - chciałem mieć klasę bazową, która ma GUID jako parametr konstruktora.

    class KlasaBazowa {
    public:
    KlasaBazowa( GUID const& _guid ) : m_guid( _guid );
    [...]
    private:
    GUI const& m_guid;
    };

    > - ona ma funkcję FindDevs która korzysta z tego guid z konstruktora.

    Więc w tej funkcji masz m_gui który jest typu GUID i o wartości jaką
    przekazano do konstruktora klasy bazowej.

    > - konstruktor klasy pochodnej woła konstruktor klasy bazowej wpisując
    > tam znany już w tym miejscu swój guid.

    static GUI konkretnyGUID = { };

    class KlasaKonkretna : public KlasaBazowa {
    public:
    KlasaKonkretna() : KlasaBazowa( konkretnyGUID ) { [...] };

    [...]
    };

    Zaznaczam, że to nie jest optymalne. Tracisz 4 bajty na pole m_guid.

    Poprawnie było by to zrobione za pomocą szablonów i techniki mixin.
    Klasa bazowa nie musiała by wtedy trzymać GUIDa, ale mogła by z niego
    korzystać dzięki specjalizacji szablonem.

    > - klasa pochodna ma dostępną funkcję FindDevs klasy bazowej i ona umie
    > użyć tego guid wpisanego w jej konstruktorze.

    Tak jak powyżej.

    > To chyba jest to, co mi się nie udało i w każdej klasie pochodnej mam
    > jej własną statyczną FindDevs.

    Hmmm... całośc tego wydaje mi się niejasna, co w zasadzie było problemem.

    Niewątpliwie ten kod przydałby się w wersji invitro aby móc coś wiecej
    dysputować.

    >> Taki kod: Foo = 1<<BAR;
    > Od lat 90-tych widuję te foo i bar i nigdy nie wiem co o tym sądzić.

    To metasłowa. Może być GORZAŁKA i ZAGRYCHA.

    > Skąd się to wzięło i jak o tym mysleć.

    Nijak. Programiści musza czasami pokazać składnię czegoś w oderwaniu od
    konkretów. Używa się też "spam", "Alice" i kilku innych.

    https://en.wikipedia.org/wiki/Foobar

    >> A zjada 0 Flasha. Tak naprawdę, to "kod templaetowy" wykonuje się na
    >> etapie kompilacji, jako metajęzyk.
    > Na razie o ile wiem to według brata przykład USB na załatwienie prostej
    > rzeczy zabiera 10x za dużo miejsca i nie zostaje miejsca na naszą
    > aplikację, a chcemy się zmieścić w 1/2 flasha z powodu upgrade'ów.

    Gcc ma flagę -Os? Symbole debugowe wyłaczone w docelowej binarce?

    Raczej nie dam wiary, że jest tak źle. Prosty kod usb UARTa na STM32
    zajmował jakies kilobajty. Ba, w małym AVR potrafili to zmieścić, z
    softwareową emulacją.

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: