eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCarnegie-Mellon przestaje uczyc programowania obiektowego › Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
  • Data: 2011-04-15 16:51:59
    Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
    Od: p...@p...onet.pl szukaj wiadomości tego autora
    [ pokaż wszystkie 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: