[so] [Tema 2] [Linux] Lămuriri enunț

Paul Olaru olarupaulstelian97 at gmail.com
Wed Mar 20 17:14:03 EET 2019


Pe Windows într-adevăr nu respectăm modul în sine primit, doar vedem dacă
trunchiem sau face append.
Dacă fișierul nu există pe Linux, gândește-te la niște permisiuni decente.
0644 nu ar fi o valoare rea.
Majoritatea funcțiilor au voie să crape dacă SO_FILE* este NULL -- cele din
biblioteca standard (stdio.h) fac acest lucru și checkerul nu va da astfel
de parametri. De asemenea, bufferele primite ca parametru vor fi
întotdeauna valide. Singurele erori de memorie vor fi deci de la propria
gestiune internă a resurselor.

Makefile-urile trebuie să aibă o regulă build și una clean, as usual.
Regula build va crea libso_stdio.so pe Linux și so_stdio.dll + so_stdio.lib
pe Windows. (Notă, comanda pentru DLL va crea automat și LIB). Regula clean
șterge tot ce a fost generat (fișiere .o, fișierul .so pe Linux, fișiere
.obj, .dll și .lib pe Windows)

Pentru tipul de buffering aștept și eu răspuns. Dar eu personal am mers pe
single-buffered.

On Wed, Mar 20, 2019, 17:06 Ursescu Ionut via so <so at cursuri.cs.pub.ro>
wrote:

> Salutare,
>
> Am și eu câteva nelămuriri în legătură cu enunțul temei, după cum urmează:
>
> - so_fopen are modurile de deschidere a fișierului primite ca argument,
> pentru implementarea pe Windows am văzut la 'Precizări Windows' faptul că
> trebuie să deschidem fișierele cu GENERIC_READ|GENERIC_WRITE. Trebuie
> ignorat modul primit ca argument legat de partea aceasta de scriere și
> citire (aici nu intră side-effects, trunchiere etc)
>
> - so_fopen, cu ce permisiuni se va crea fișierul in cazul in care nu există
>
> - funcțiile care primesc un SO_FILE *, ce trebuie să returneze în cazul în
> care vor primi un NULL
>
> - nu este specificat ce trebuie pus pe checker, ce comenzi trebuie sa
> expună Makefile-ul dacă acesta trebuie să existe. (se poate modifica
> fișierul .h ?)
>
> - contează modul in care noi am construit buffer-ul (de ex 1 pentru write,
> 1 pentru read si incă unul temporar) sau e important doar conceptul de
> buffering și nu detaliile de implementare.
>
>
> Mulțumesc,
> Ursescu Ionuț
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20190320/34243d05/attachment-0001.html>


More information about the so mailing list