-
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
Następne wpisy z tego wątku
- 19.11.21 11:34 Mateusz Viste
- 19.11.21 13:37 Astralny Rębajło
- 19.11.21 17:08 heby
- 19.11.21 20:38 Mateusz Viste
- 19.11.21 21:19 heby
- 19.11.21 21:54 Mateusz Viste
- 19.11.21 22:00 Marek
- 19.11.21 22:06 heby
- 19.11.21 22:11 heby
- 19.11.21 22:19 Dawid Rutkowski
- 19.11.21 22:54 Mateusz Viste
Najnowsze wątki z tej grupy
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- 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
Najnowsze wątki
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-28 droga laweta