This shows you the differences between two versions of the page.
so:teme-new:tema-2 [2019/03/13 22:54] razvan.crainea [Precizări Windows] |
so:teme-new:tema-2 [2019/03/14 10:57] (current) razvan.crainea [Testare] |
||
---|---|---|---|
Line 59: | Line 59: | ||
Să se realizeze o implementare minimală a bibliotecii stdio, care să permită lucrul cu fișiere. Biblioteca va trebui să implementeze structura SO_FILE (similar cu FILE din biblioteca standard C), împreună cu funcțiile de citire/scriere. De asemenea, va trebui să ofere funcționalitatea de buffering. | Să se realizeze o implementare minimală a bibliotecii stdio, care să permită lucrul cu fișiere. Biblioteca va trebui să implementeze structura SO_FILE (similar cu FILE din biblioteca standard C), împreună cu funcțiile de citire/scriere. De asemenea, va trebui să ofere funcționalitatea de buffering. | ||
- | Rezolvarea temei va trebui să genereze o bibliotecă dinamică numită ''libso_stdio.so''/''so_stdio.dll''. | + | Rezolvarea temei va trebui să genereze o bibliotecă dinamică numită ''libso_stdio.so''/''so_stdio.dll'' care implementează header-ul |
+ | [[https://github.com/systems-cs-pub-ro/so-assignments/blob/master/2-stdio/util/so_stdio.h|so_stdio.h]]. În acest header găsiți semnăturile functiilor exportate de biblioteca generată de voi. | ||
===== SO_FILE ===== | ===== SO_FILE ===== | ||
Line 214: | Line 214: | ||
*Pentru simplificarea procesului de corectare a temelor, dar și pentru a reduce greșelile temelor trimise, corectarea se va realiza automat cu ajutorul testelor publice indicate în secțiunea de materiale ajutătoare. | *Pentru simplificarea procesului de corectare a temelor, dar și pentru a reduce greșelile temelor trimise, corectarea se va realiza automat cu ajutorul testelor publice indicate în secțiunea de materiale ajutătoare. | ||
- | *Există 31 teste. Se pot obține maxim 9.5 puncte prin trecerea testelor. Se acordă 0.5 puncte din oficiu. | + | *Există 33 teste. Se pot obține maxim 9.5 puncte prin trecerea testelor. Se acordă 0.5 puncte din oficiu. |
***Testul 0** din cadrul checker-ului temei verifică automat coding style-ul surselor voastre folosind [[https://www.kernel.org/doc/Documentation/process/coding-style.rst | stilul de coding din kernelul Linux]]. Acest test valorează **5 puncte** din totalul de 100. Pentru mai multe informații despre un cod de calitate citiți [[so:laboratoare:resurse:c_tips | pagina de recomandări]]. | ***Testul 0** din cadrul checker-ului temei verifică automat coding style-ul surselor voastre folosind [[https://www.kernel.org/doc/Documentation/process/coding-style.rst | stilul de coding din kernelul Linux]]. Acest test valorează **5 puncte** din totalul de 100. Pentru mai multe informații despre un cod de calitate citiți [[so:laboratoare:resurse:c_tips | pagina de recomandări]]. | ||
*Din punctajul temei se vor scădea automat puncte pentru întârzieri și pentru warning-uri. La revizia temei, se poate scădea suplimentar pentru nerespectarea criteriilor scrise la secțiunea de [[so:teme:general#lista_depunctari | depunctări]] ale temelor. | *Din punctajul temei se vor scădea automat puncte pentru întârzieri și pentru warning-uri. La revizia temei, se poate scădea suplimentar pentru nerespectarea criteriilor scrise la secțiunea de [[so:teme:general#lista_depunctari | depunctări]] ale temelor. | ||
Line 224: | Line 224: | ||
<note tip> | <note tip> | ||
- | Pentru a inspecta diferențele între output-ul mini-shell-ului și cel al binarului de referință folosit de checker setați ''DO_CLEANUP=no'' în scriptul [[https://github.com/systems-cs-pub-ro/so-assignments/blob/master/2-stdio/checker/_test/run_test.sh | run_test.sh]]. | + | Pentru a inspecta diferențele între output-ul bibliotecii voastre și fișierele de referință ale checker-ului setați ''DO_CLEANUP=no'' în scriptul [[https://github.com/systems-cs-pub-ro/so-assignments/blob/master/2-stdio/checker/_test/run_test.sh | run_test.sh]]. |
</note> | </note> | ||
Line 239: | Line 239: | ||
Resurse: | Resurse: | ||
- | * Parserul pentru comenzi, scheletele de cod și testele sunt disponibile în directorul [[https://github.com/systems-cs-pub-ro/so-assignments/tree/master/2-stdio| 2-stdio]] din [[https://github.com/systems-cs-pub-ro/so-assignments|repo-ul de pe Github]]. | + | * Header-ul [[https://github.com/systems-cs-pub-ro/so-assignments/blob/master/2-stdio/util/so_stdio.h|so_stdio.h]] expus de biblioteca ''so_stdio''. |
Pagina de Upload: | Pagina de Upload: | ||
Line 250: | Line 250: | ||
**Dacă ați folosit [[https://gitlab.cs.pub.ro|Gitlab]] pentru realizarea temei, indicați în README link-ul către repository. Asigurați-vă că responsabilii de teme au drepturi de citire asupra repo-ului vostru**. | **Dacă ați folosit [[https://gitlab.cs.pub.ro|Gitlab]] pentru realizarea temei, indicați în README link-ul către repository. Asigurați-vă că responsabilii de teme au drepturi de citire asupra repo-ului vostru**. | ||
+ | |||
+ | </note> | ||
+ | |||
+ | ===== Suport, întrebări și clarificări ===== | ||
+ | |||
+ | Pentru întrebări sau nelămuriri legate de temă folosiți [[:so:info:lista-discutii|lista de discuții]] sau [[:so:info:documentatie#social_media|canalul de IRC]]. | ||
+ | |||
+ | <note important> | ||
+ | Orice intrebare pe mailing list e recomandat să aibă subiectul de forma ''[Tema2][Platforma] Titlul problemei''. Exemple de așa da: | ||
+ | |||
+ | * [Tema2][Linux] Biblioteca nu se generează | ||
+ | * [Tema2][Windows] No makefile found | ||
+ | * [Tema2][General] Neclaritate enunt: Dimensiune buffer | ||
+ | |||
+ | Exemple de așa nu: | ||
+ | |||
+ | * Problema la tema 2 | ||
+ | * eroare tema 2 | ||
+ | * eroare la dimensiuni | ||
+ | |||
+ | Revedeți și secțiunea de [[:so:info:lista-discutii|guidelines pentru lista de discuții SO]] | ||
</note> | </note> |