eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[Zlecę] wykonanie interface'u Ethernetowego do architektury Z80Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
  • Data: 2012-05-04 20:35:07
    Temat: Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
    Od: Jerry1111 <j...@w...pl.pl.wp> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 03/05/2012 22:49, Sebastian Biały wrote:
    > On 2012-05-03 22:39, Jerry1111 wrote:
    >> No wlasnie ukryte jest wg mnie ciezej zdebugowac.
    >
    > Po co debugować coś co na pewno działa? To troche jak argument klepaczy
    > w C: Wole nie używać std::vector bo cięzko debugować. A ja się pytam, po
    > co do cholery debugować *pewny* i *działajcy* kod?

    Jak juz kod bedzie pewny i dzialajacy to idzie do biblioteki i mi wisi w
    czym jest pisany. Na pewnym etapie zycia ten kod jest 'wrogi',
    'niepewny' i 3x spowodowal wyciagniecie gasnicy ;-(

    > Bo może sie tam
    > trafić bug w kompilatorze?

    Oj, moze... ale moze tak samo dla C jak i dla C++.

    >> > Wyłacza zawsze przed } kończącym dany blok lub natychmiast po
    >> > opuszczeniu bloku inną metoda. W czym problem z tym "za późno" ? Możesz
    >> > podać przykład?
    >> Jesli chce rozlaczyc logicznie wlaczanie i wylaczanie przerwan.
    >
    > To wtedy wpadasz w podobne bagno co rozłączne wlaczanie i wylaczanie
    > mutexa. Po co chcesz to robić rozłacznie? Masz aż tak daleko jedno od
    > drugiego? Może design jest mizerny skoro sekcja krytyczna ciągnie sie
    > przez wiele funkcji i bloków?

    Mysle ze design nie jest mizerny. Starczy powiedziec ze procek ma <5%
    wolnego czasu, ok. 10% spedza w RTOS i reszta w przerwaniach. Ot, taki
    sprytniejszy kontroler PWM do przetwornicy.

    >> Ja nie mowie ze nie dziala. Ja mowie ze mnie by ograniczalo (za przyklad
    >> biore kod do ostatnio robionego urzadzenia, gdzie wlaczanie przerwan
    >> jest zupelnie gdzie indziej niz ich wylaczanie). Zupelnie gdzie indziej
    >> == inny plik.
    >
    > Dlaczego tak to jest zrobione? Istnieje jakiś argument? Z chęcia go
    > poznam. Pytam, bo ostatnio widziałem kilka kawałków kodu na PC w których
    > nie dało się zrobić boost::scoped_lock. I nie wynikało to z przemyślenia
    > bądź rozsądnej potrzeby. Po prostu tak "sie napisało". Mogło sie napisać
    > inaczej, ale programista nie wiedział.

    Jak wczesniej napisalem: czas wykonania programu. W taki sposob mam
    bardzo ladna kontrole nad wlaczaniem/wylaczaniem z priorytetami. Wiem,
    mozna inaczej zrobic ale u mnie kazda us kosztuje duzo. Poza tym
    kompilator glupi i nie zawsze wypelni pipeline procka tak dobrze, jak ja
    to zrobie recznie.

    > Mała uwaga: zawsze możesz zrobić coś na kształt move_lock jeśli
    > *naprawdę* musisz gdzie indziej uwolnić przerwania. Masz dwa w jednym:
    > nie jesteś ograniczony w scope i masz pewność że ktoś to gdzieś uwolni.

    Ja wiem ze moge. Po prostu pokazuje ze dla roznych zastosowan sa rozne
    rozwiazania. Zaczelo sie od tego ze C++ jest lepsze od C - owszem,
    _czasami_ dla _niektorych_ zastosowan.


    --
    Jerry1111

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: