eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCarnegie-Mellon przestaje uczyc programowania obiektowego › Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
    sgate.m10r2.onet.pl!niusy.onet.pl
    From: p...@p...onet.pl
    Newsgroups: pl.comp.programming
    Subject: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Date: Fri, 15 Apr 2011 18:51:59 +0200
    Organization: Onet.pl
    Lines: 64
    Sender: n...@n...onet.pl
    Message-ID: <1...@n...onet.pl>
    References: <io9r3m$88b$1@news.onet.pl>
    NNTP-Posting-Host: newsgate.m10r2.onet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset="iso-8859-2"
    Content-Transfer-Encoding: 8bit
    X-Trace: newsgate.onet.pl 1302886319 8435 213.180.150.14 (15 Apr 2011 16:51:59 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Fri, 15 Apr 2011 16:51:59 +0000 (UTC)
    Content-Disposition: inline
    X-Mailer: http://niusy.onet.pl
    X-Forwarded-For: 31.60.197.167, 10.174.28.58
    X-User-Agent: Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.6.30
    Version/10.61
    Xref: news-archive.icm.edu.pl pl.comp.programming:189894
    [ ukryj nagłówki ]



    > Absolutnie tak, plik ma nazwę, która jest niczym innym jak czytelną dla
    > człowieka nazwą. Uchwyt do zasobu jest po prostu rozwiązaną nazwą. Zwróć
    > uwagę, że te Twoje metody należałoby zaimplementować w C mniej więcej tak:
    >
    > void openFile(char* name)
    > {
    >     FILE *f = fopen(name, "w"); // załóżmy, że taki tryb
    >     storeInGlobalTable(name, f); // zapisz nazwę zamapowaną na FILE
    > }
    >
    > void printToFile(char* name, char* msg)
    > {
    >     fprintf(getFromGlobalTable(name), "%s", msg);
    > }
    >
    > void closeFile(char* name)
    > {
    >     fclose(getFromGlobalTable(name));
    >     storeInGlobalTable(name, NULL);
    > }
    >
    > Cały czas "f", będące niczym innym jak uchwytem, jest potrzebne - tyle,
    > że zostało zakopane niżej.


    no nie calkiem, i tak nazwa pliku jest 'rozwiazywana' (czy 'mapowana')
    na jakis wewnetrzny 'adres' czy cos takiego - przez fopen

    to co zwraca fopen (czyli uchwyt) to niekoniecznie jest dokladnie tamten
    'sprzetowy adres' - albo ten uchwyt jest czyms, co dopiero zostanie
    zmapowane na tamten docelowy adres albo co najwyzej jest to jego 'kopia'

    ( czyli w jednym wypadku masz identyfikator uchwyt i docelowy adres
    albo w drugim tylko identyfikator i docelowy adres)

    jak mowie to ze trzeba uzywac stringow jest minusem, ale to mapowanie
    'nazwa pliku' na 'docelowy adres'(niestety nie wiem co to jest, adres
    na dysku?) i tak raz jest przeprowadzane a pozniej mozna by probowac
    je wykorzystac a nie robic za kazdym razem - stringi i tak sa przekazywane
    przez adres, trzeba by wiec tylko pozapewniac ze to nie sa odrebne kopie
    tylko ten sam wskaznik - albo ew traktowac odrebnie taki string do opisu
    resource'a inaczej niz zwykle stringi tyko jako identyfikator resource'a
    (chyba lepszy pomysl, wtedy mozna by odroznic od zwyklego stringa np przez
    jakies @"nazwa")

    openFile(@"ala.txt");
    printToFile(@"ala.txt", "yo man");
    closeFile(@"ala.txt");

    (ew jakos inaczej)

    - robi to jak widac pewne drobne roznice ale wynika z tego
    ze jest to semantycznie nieco inna rzecz - raczej da sie zrobic; bedzie
    chyba nawet drobinke _szybciej_ niz z uchwytami (bo nie ma uchwytow
    ktorych obsluga to maly koszt) i nie ma uchwytow - sa tylko identyfikatory





    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

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: