-
Data: 2014-11-12 12:20:17
Temat: Re: Makra higieniczne w jezyku Scheme
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 12 listopada 2014 12:13:08 UTC+1 użytkownik firr napisał:
> >
> to o czym pisałem bylo o tym (i to jest wazna uwaga) ze w c mozna przekazywac
wskazniki na
> funkcje ale nie mozesz przekazac funkcji juz
> z argumentami, na przyklad powiedzmy ze
> mam funkcje profie() ktora mierzy czas wykonania (w nanosekundach) przekazanej jej
funkcji
>
> profile( add(1,2,3) );
>
> profile( print(" [11:47] <omatkoboska> idę na szluga ") );
>
> profile( Beep(10,1000) );
>
> a takie cos jest b. potrzebne.. (skladnia jest zajeta ale mozna dodac jakies
oznaczenie/slowo kluczowe informujace ze to nei ejst 'wywolywane na wejsciu tylko w
srodku' itp)
>
> (co mozna zrobic w c to wiadomo.. tak jak zdaje sie mowisz mozna napisac sobie
wrappery
>
> void add(void* args) { ....}
> void print(void* args) { ....}
> void Beep(void* args) { ....}
>
> i funkcje przyjmujaca te wrappery
>
> profile(pFunWrapper fun, void* args)
> {
> //... kod
> fun(args);
> // ... kod
> }
> )
>
> tymaczasem mozna by to w c zrobic automatycznie
> i jest to proste do zrobienia (czy to jest odpowiednik closures z innych jezykow to
nie wiem, byc moze nie do konca bo te przekazywane funkcje nie maja tutaj dostepu do
swoich jakichs tam kontekstow tylko po prostu ciagna swoje argumenty)
Akurat tego rodzaju rzeczy mozna dosc latwo rozwiazac przy pomocy
makra preprocesora C:
#define PROFILE(call) { \
// ... kod \
call; \
// ... kod \
}
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją