This shows you the differences between two versions of the page.
so:teme:general [2019/02/25 09:27] mbarbulescu |
so:teme:general [2020/03/09 09:41] (current) razvan.deaconescu [Listă depunctări] |
||
---|---|---|---|
Line 19: | Line 19: | ||
===== Listă depunctări ===== | ===== Listă depunctări ===== | ||
- | *Temele care nu se compilează sau nu rulează, indiferent de motive, vor primi punctaj 0; folosiți sistemul [[https://elf.cs.pub.ro/vmchecker/ui/ | vmchecker]] pentru a verifica rularea/compilarea corespunzătoare a temelor | ||
+ | * Temele care nu se compilează sau nu rulează, indiferent de motive, vor primi punctaj 0; folosiți sistemul [[https://elf.cs.pub.ro/vmchecker/ui/ | vmchecker]] pentru a verifica rularea/compilarea corespunzătoare a temelor. | ||
+ | * Pe sistemele de operare general purpose de tipul Linux, *OS, Windows, FreeBSD, cu biblioteci standard C complexe, resursele proprii / nepartajate procesului (memorie alocată, fișiere deschise, thread-uri create) sunt eliberate și închise la încheierea procesului (exit). Pe aceste sisteme nu e nevoie să eliberați explicit înainte de exit; pot există medii specifice în care acest lucru nu se întâmplă. Cea mai bună practică (best practice) este să eliberați explicit resursele ca să acoperiți toate situațiile. | ||
==== Funcționalitate ==== | ==== Funcționalitate ==== | ||
*-0.2: accesarea unor zone de memorie nevalide (care nu rezultă în mesaj de eroare de tipul "Segmentation fault"): buffer overflow, lucru neadecvat cu funcții pe șiruri; pentru depistarea accesărilor invalide puteți folosi [[http://ocw.cs.pub.ro/courses/so/laboratoare/laborator-05#valgrind | valgrind]]; | *-0.2: accesarea unor zone de memorie nevalide (care nu rezultă în mesaj de eroare de tipul "Segmentation fault"): buffer overflow, lucru neadecvat cu funcții pe șiruri; pentru depistarea accesărilor invalide puteți folosi [[http://ocw.cs.pub.ro/courses/so/laboratoare/laborator-05#valgrind | valgrind]]; | ||
Line 81: | Line 82: | ||
Explicație pentru structura creată (sau soluția de ansamblu aleasă): | Explicație pentru structura creată (sau soluția de ansamblu aleasă): | ||
- | ***Obligatoriu:*** | + | **Obligatoriu:** |
* De făcut referință la abordarea generală menționată în paragraful de mai sus. Aici se pot băga bucăți de cod/funcții - etc. | * De făcut referință la abordarea generală menționată în paragraful de mai sus. Aici se pot băga bucăți de cod/funcții - etc. | ||
Line 87: | Line 88: | ||
* Consideri implementarea naivă, eficientă, se putea mai bine? | * Consideri implementarea naivă, eficientă, se putea mai bine? | ||
- | ***Opțional:*** | + | **Opțional:** |
* De menționat cazuri speciale (corner cases), nespecificate în enunț și cum au fost tratate (în special dacă comentariile din cod nu le acoperă) | * De menționat cazuri speciale (corner cases), nespecificate în enunț și cum au fost tratate (în special dacă comentariile din cod nu le acoperă) | ||