-
Data: 2017-04-29 10:59:04
Temat: Re: arduino, początki, inny edytor
Od: slawek <f...@f...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sat, 29 Apr 2017 10:03:15 +0200, Marek <f...@f...com> wrote:
> Może inaczej, zaproponuj wydajniejsze rozwiązanie bez goto dla
> przypadku omawianego tutaj:
> http://www.cprogramming.com/tutorial/goto.html
Przecież już napisałem jak to zrobić. Co do wydajności: mit. Jeżeli
chcesz mieć szybko to piszesz w Asemblerze, jeżeli dobrze to w
czymkolwiek byle nie Asembler. Wydajność nie zależy od zysku 1% "bo
goto jest szybsze". Wydajność osiąga się algorytmem O(N^2.4) zamiast
O(N^3).
Anyway, choć prawdopodobnie tego nie zrozumiesz, to mogłoby być tak:
double GetData (const char* name){
int returnedValue = NAN;
FILE *file = Open(name) ;
Buffer *buffer = AllocateBuffer();
if ( file && buffer)
{
returnedValue =.....
}
Close(file);
FreeBuffer(buffer);
return returnedValue;
}
I to działa. Bo to na Close i na FreeBuffer spada odpowiedzialność za
poprawne obsłuzenie sytuacji gdy nie trzeba zwalniać zasobu. A
dowiadują się o tym, bo dostają NULL.
Proste. Skuteczne. Niemal RAII, tyle że w zwykłym C.
Jedyne co tracimy to czas na próbę alokacji bufora gdy już file było
NULL. Ale to sytuacja wyjątkowa i można to zaakceptować. Ewentualnie
dodać jeszcze jedno if oraz Buffer* buffer = NULL;
Następne wpisy z tego wątku
- 29.04.17 11:00 slawek
- 29.04.17 11:53 Pcimol
- 29.04.17 11:58 Pcimol
- 29.04.17 11:59 Pcimol
- 29.04.17 12:20 slawek
- 29.04.17 12:45 slawek
- 29.04.17 13:23 Grzegorz Niemirowski
- 29.04.17 13:27 Marek
- 29.04.17 14:51 J.F.
- 29.04.17 18:19 slawek
- 29.04.17 21:30 Pcimol
- 30.04.17 01:44 Marek
- 30.04.17 06:36 slawek
- 30.04.17 10:26 Marek
- 30.04.17 12:57 slawek
Najnowsze wątki z tej grupy
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)