Draft
uso în momentul în care efectuați submit, fără să în introduceți de mână în formularul temei, evitând astfel erorile de transcriere.
Timp de lucru: 7 zile
Punctaj: 0.6 puncte din nota finală
Formular de trimitere temă: TODO
Tema va fi considerată rezolvată la data trimiterii codului pe site. NU se acceptă întârzieri!
uso:
Versiunea curentă: v16 - “Gold Blackbird”
uso
Versiunea curentă: versiunea 1
Creați fișierul directie.txt în directorul /home/student/. Adăugați pe prima linie a fișierului directie.txt direcția din care faceți parte (CTI, FILS sau IS), ca în exemplul de mai jos.
Dacă acest fișier există deja, fiind creat la o temă anterioară, săriți peste acest task.
student@vm-uso ~ $ pwd /home/student student@vm-uso ~ $ echo "CTI" > directie.txt student@vm-uso ~ $ cat directie.txt CTI
Clonați în directorul /home/student repository-ul disponibil la adresa https://github.com/systems-cs-pub-ro/uso. Directorul creat după clonare trebuie să aibă numele uso.
Adaugați în directorul uso urmatoarea structură de directoare și fișiere:
Star Wars/
├── Empire Forces/
│ ├── Chewie/
│ │ ├── AAARGH.c
│ │ └── Han Solo/
│ ├── Darth Maul/
│ └── Darth Vader/
└── Rebel Forces/
├── Luke Skywalker/
├── Obi-Wan Kenobi/
└── Yoda/
/ (slash)
Adaugați toate fișierele în git și efectuați un commit cu mesajul initial commit (Hint: try.github.io și git-scm.com/doc)
Aflandu-va in directorul uso, folositi o singura comanda pentru fiecare din cerintele urmatoare:
Chewie in Rebel ForcesAAARGH.c in speak-chewie.cHan Solo in Rebel Forces
Adaugați toate modificarile în git și efectuați un commit cu mesajul Millennium Falcon
Pentru acest task aveți nevoie de fișierul obiect chewie.o aflat la adresa https://github.com/systems-cs-pub-ro/uso/blob/master/tema1/chewie/chewie.o?raw=true
Creați directorul ~/uso/task3/ și descărcați fișierul obiect chewie.o (Hint: man wget) în directorul anterior creat. Fișierul obiect chewie.o conține un apel la funcția translate() de tip void. Funcția nu a fost implementată în fisierul obiect descarcat.
Fără a modifica fișierul obiect chewie.o, trebuie să implementați funcția void translate() într-un fișier sursă han_solo.c care să afișeze textul Han: Chewie said hi.
Fișierul han_solo.c se va compila in fișierul obiect han_solo.o si apoi sa va genera executabilul chewbacca folosind atat fisierul obiect chewie.o cat si fisierul obiect han_solo.o.
Se cere să creați un fișier Makefile cu numele Makefile care generează executabilul chewbacca folosind atât fișierul obiect chewie.o cât și fisierul obiect han_solo.o obținut în urma compilării sursei .c implementată anterior. La primirea oricăreia dintre comenzile make sau make build va fi generat fișierul executabil chewbacca iar în momentul rulării acestuia se va afișa textul :
Han: Chewie said hi.
run care recompilează întreg programul, dacă e cazul, apoi îl rulează.
automatic variables
Dupa rularea sudo uso start veti gasi in directorul uso urmatoarele fisiere: returnofthejedi.txt si edit_returnofthejedi.txt. Scopul acestui exercitiu este de a va familiariza cu editorul de text vim. Va trebui sa editati in vim fisierul edit_returnofthejedi.txt astfel incat sa respecte urmatoarele criterii:
Luke cu The chosen oneVader cu Vader(father figure)THREEPIO in 3POcorrupt in text, notati numarul de aparitii in fisierul /home/student/uso/info_text pe prima linie si inlocuiti cu unprincipled in text