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> | ||