eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingMakra higieniczne w jezyku SchemeRe: Makra higieniczne w jezyku Scheme
  • X-Received: by 10.140.95.135 with SMTP id i7mr21521qge.12.1415790788350; Wed, 12 Nov
    2014 03:13:08 -0800 (PST)
    X-Received: by 10.140.95.135 with SMTP id i7mr21521qge.12.1415790788350; Wed, 12 Nov
    2014 03:13:08 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    hl2no421207igb.0!news-out.google.com!u1ni9qah.0!nntp.google.com!u7no1051776qaz.
    1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 12 Nov 2014 03:13:08 -0800 (PST)
    In-Reply-To: <1...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=78.30.87.108;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 78.30.87.108
    References: <5...@g...com>
    <a...@4...com>
    <6...@g...com>
    <7...@g...com>
    <2...@g...com>
    <1...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <1...@g...com>
    Subject: Re: Makra higieniczne w jezyku Scheme
    From: firr <p...@g...com>
    Injection-Date: Wed, 12 Nov 2014 11:13:08 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:206942
    [ ukryj nagłówki ]

    >
    > 4. system callbackow czy 'przekazywania funkcji do funkcji' w c jest raczej slaby,
    kiedys pisalem ntt i jeszcze kiedys pewnie napisze
    > (ale nie teraz bo jest to glebszy temat)

    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)

    druga rzecz ze tą warstwe kombinowanie funkci w c miedzy sobą mozna jeszcze o wiele
    bardziej rozbudowac o czym bylo pisane przeze mnie calkiem niedawno (chyba ze dwa
    tygodnie temu na plc)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: