Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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ă)
  
so/teme/general.1551079650.txt.gz · Last modified: 2019/02/25 09:27 by mbarbulescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0