eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR po latachRe: AVR po latach
  • Data: 2021-11-19 11:07:05
    Temat: Re: AVR po latach
    Od: Mateusz Viste <m...@x...invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    2021-11-19 o 10:53 +0100, J.F napisał:
    > Niby owszem, ale mozna przeciez tez tak:
    >
    > void *buf = NULL;
    > int port = 0;
    >
    > buf = alokuj_bufor();
    > if (!buf) goto poleglem_buf;
    > if (!napisz_na_port() goto poleglem_write;
    > if (!odbierz_z_portu() goto poleglem_read;
    > return(sukces);
    >
    > poleglem_read:
    > poleglem_write:
    > zamknij_port();
    > poleglem_buf:
    > zwolnij_bufor();
    > return(fail);

    Maszynowo niewątpliwie czyściej, ale dostrzegam potencjalny
    problem w czynniku ludzkim - bo teraz programista musi wiedzieć, do
    którego labela wykonać jmp.

    Metoda "sprawdzam wszystko w jednym miejscu" ma tę zaletę, że jest
    bardzo łatwo w użyciu i trudno o pomyłkę. Fakt, zmarnujemy na tym kilka
    instrukcji JZ/JE, ale jeśli zależałoby nam na tak daleko posuniętej
    oszczędności, to po prostu użylibyśmy NASM... Swoją drogą, ciekawe jak
    RAII w C++ to tłumaczy. Domniemywam, że właśnie tak - bo przecież musi
    pamiętać/sprawdzać co zostało zainicjalizowane, a co nie. Sprawdzi ktoś?

    Mateusz

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: