-
41. Data: 2017-04-29 00:33:30
Temat: Re: arduino, początki, inny edytor
Od: Marek <f...@f...com>
On Fri, 28 Apr 2017 19:06:18 +0200, "Grzegorz Niemirowski"
<g...@p...onet.pl> wrote:
> Ależ ja się zgadzam, że goto może być nieraz najlepszym wyjściem.
Co prawda
> z przyzwyczajenia nie używam, ale te linki mnie przekonują. Mam też
> nadzieję, że slawek raczy te linki przeczytać zamiast powtarzać
"nie bo nie"
Może pomoże link cytowany z powyższego linka z przykładem:
http://www.cprogramming.com/tutorial/goto.html
--
Marek
-
42. Data: 2017-04-29 07:36:06
Temat: Re: arduino, początki, inny edytor
Od: slawek <f...@f...com>
On Fri, 28 Apr 2017 18:44:12 +0200, Marek <f...@f...com> wrote:
> Jak byś optymalnie zaproponowal sprawdzanie np. 100 warunkow
> dopsowujacych coś do wzorca bez goto bez zagnieżdzania (z naciskiem
> na optymalnie)?
Drzewo.
-
43. Data: 2017-04-29 08:22:44
Temat: Re: arduino, początki, inny edytor
Od: slawek <f...@f...com>
On Sat, 29 Apr 2017 00:33:30 +0200, Marek <f...@f...com> wrote:
> Może pomoże link cytowany z powyższego linka z przykładem:
> http://www.cprogramming.com/tutorial/goto.html
Cały dowcip w tym że "problem" ibidem to:
1. Brak w C mechanizmu wyjątków i GC.
2. Brak w C zagnieżdżonych funkcji.
3. Chęć upchania wszystkiego w jednej funkcji.
4. Niechęć do używania zmiennych logicznych.
A wystarczy: każdą operację przydziału księgować true/false; tam
gdzie istotne sprawdzać te zapiski; gdy zajdzie potrzeba uwalniać te
zasoby które były przydzielone.
Wariantem jest trik z NULL. Można po prostu nie zastanawiać się czy
wywołać free(ptr). Bo jeżeli ptr dostało pamięć to trzeba, a jak nie
dostało (calloc itp.) to ptr jest NULL, free(NULL) będzie
nieszkodliwe, to i tak można.
-
44. Data: 2017-04-29 09:42:11
Temat: Re: arduino, początki, inny edytor
Od: Marek <f...@f...com>
On Sat, 29 Apr 2017 07:36:06 +0200, slawek <f...@f...com> wrote:
> Drzewo.
Przykład poproszę, coby nie pozostać na domysłach.
--
Marek
-
45. Data: 2017-04-29 10:03:15
Temat: Re: arduino, początki, inny edytor
Od: Marek <f...@f...com>
On Sat, 29 Apr 2017 09:42:11 +0200, Marek <f...@f...com> wrote:
> Przykład poproszę, coby nie pozostać na domysłach.
Może inaczej, zaproponuj wydajniejsze rozwiązanie bez goto dla
przypadku omawianego tutaj:
http://www.cprogramming.com/tutorial/goto.html
--
Marek
-
46. Data: 2017-04-29 10:18:27
Temat: Re: arduino, początki, inny edytor
Od: slawek <f...@f...com>
On Sat, 29 Apr 2017 09:42:11 +0200, Marek <f...@f...com> wrote:
> Przykład poproszę, coby nie
A ja poproszę o Porsche. Może być model redakcyjny sterowany radiowo.
Coby nie.
-
47. Data: 2017-04-29 10:59:04
Temat: Re: arduino, początki, inny edytor
Od: slawek <f...@f...com>
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;
-
48. Data: 2017-04-29 11:00:18
Temat: Re: arduino, początki, inny edytor
Od: slawek <f...@f...com>
On Sat, 29 Apr 2017 10:18:27 +0200, slawek <f...@f...com> wrote:
> A ja poproszę o Porsche. Może być model redakcyjny sterowany
radiowo.
REDUKCYJNY
-
49. Data: 2017-04-29 11:53:46
Temat: Re: arduino, początki, inny edytor
Od: Pcimol <...@...com>
On 2017-04-25 22:16, ToMasz wrote:
> witam
> Piszę prosty program który ma się wykonywać na arduino. tyle że robi mi
> się cholernie długi. Dla programisty, to pewno byłby pikuś, ale dlamnie
> uciążliwe staje się odgadywanie co chciałem zrobić wczoraj i dlaczego to
> tak zapisałem. kiedyś cośtam robiłem w basicu i może to właśnie
> pokutuje, bo brakuje mi "goto"
> tak czy owak, wieki temu podczas edukacji miałem jakieś podstawy c++ i
> edytor, środowisko programistyczne umożliwiało lepsze ogarnięcie
> programu. nie pamiętam ale jakieś kolorki były.... Teraz jak mi braknie
> średnika na końcu lini to mam pierdylion błędów - żaden nie wspomina o
> średniku. czy jest jakis inny niż ten arduinowy edytor w którym można
> pisać program na arduino?
Odpuściłbym arduino - tylko złe nawyki utrwali.
-
50. Data: 2017-04-29 11:58:03
Temat: Re: arduino, początki, inny edytor
Od: Pcimol <...@...com>
On 2017-04-27 07:44, Marek wrote:
> Czy to nie.Ty rok temu, moją identyczn sugestię innemu użytkownikowi
> skomentowałeś "... i będzie musiał rozwiązywać setki nowych problemów,
> których w Arduino nie ma."? :)
>
Wielu próbuje przysłonić brak własnych umiejętności dowodząc wyższość
arduino nad C. Niestety ich argumentacja jest wywodzona właśnie z braku
umiejetności.