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 Forces
AAARGH.c
in speak-chewie.c
Han 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 one
Vader
cu Vader(father figure)
THREEPIO
in 3PO
corrupt
in text, notati numarul de aparitii in fisierul /home/student/uso/info_text
pe prima linie si inlocuiti cu unprincipled
in text