-
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
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
Najnowsze wątki
- 2026-01-03 LEDy na choinkę zdechły
- 2026-01-03 Wenezuela
- 2026-01-03 Wtopa LED
- 2026-01-03 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2026-01-03 "Obywatelskie zatrzymanie"
- 2026-01-03 ograniczanie sztucznej inteligencji
- 2026-01-02 Szalejąca dyskryminacja obywateli USA w Maili i Burkina Faso. Czy to legalne?
- 2026-01-02 Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- 2026-01-02 Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- 2026-01-02 Kogo KE opierdoli za nieskuteczną cenzurę? [Rząd tuski doniósł]
- 2026-01-02 Gdańsk => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-02 Gdańsk => Solution Architect (Workday) - Legal Systems <=
- 2026-01-02 Gdańsk => Microsoft Dynamics 365 Finance Consultant <=
- 2026-01-02 Microsoft, C/C++ na Rust - news
- 2026-01-01 szyby macie całe?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]