-
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
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-19 Zakrzewo => SAP HCM Consultant <=
- 2025-07-19 Poznań => Konsultant SAP HCM <=
- 2025-07-19 Poznań => SAP HCR Consultant <=
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=