Documente Academic
Documente Profesional
Documente Cultură
Lucrarea 3
Lucrarea 3
2. Desfurarea lucrrii
2.1. Compilatorul GNU C.
Compilatorul GNU C care este distribuit cu sistemul Linux este un compilator complet
operaional, compatibil ANSI C. Aceast lucrare presupune ca suntei familiari cu limbajul C.
Rulai programul cu run. Vei observa c programul se oprete la linia specificat. Ca s putei
s v dai seama de problem, urmrii valoarea lui string2[size-i]:
2.3. make
make este unul din cele mai importante unelte folosite n dezvoltarea de soft pentru Linux.
make este un program care ine cont de dependenele dintre fiiere i actualizeaz doar acele fiiere
care au fost modificate de la ultima compilare.
make genereaz comenzi folosind un fiier descriptiv numit makefile. Aceste comenzi sunt
executate de shell. Acest fiier conine seturi de reguli care trebuie urmate cnd se actualizeaz un
program.
cc -c prg1.c
prg2.o: prg2.s
as -o prg2.o prg2.s #prg2.s - surs n limbaj de asamblare
3. ntrebri i aplicaii
3.1. Explicai comanda: gcc -o file file.c -lm
3.2. Explicai utilitatea folosirii opiunii "-g" la compilarea unui program.
3.3. Explicai linia: string2=(char *) malloc(size + 1); din programul din platform.
3.4. Cum se lanseaz i cum se oprete debugerul gdb?
3.5. Explicai comenzile de baz "watch" i "shell" din debug-erul gdb.
3.6. Cum i cu ce scop se folosete comanda "break" n gdb?
3.7. Explicai diferena dintre comenzile "next" i "step" ale gdb-ului.
3.8. Explicai diferena dintre comenzile "run" i "make" ale gdb-ului.
3.9. Explicai ce face comanda "cont" n gdb i cum se anuleaz un breakpoint.
3.10. Ce este gcc-ul i la ce se folosete opiunea "-pg"?
3.11. Scriei un program care ordoneaz cresctor un ir de numere introduse de la tastatur.
3.12. Scriei un program care copiaz fisiere.
3.13. Scriei un program care afieaz numrul de apariii ale unui subir ntr-un ir.
3.14. S se scrie un program care afieaz n ordine invers literele unui ir de caractere citit de la
tastatur.
3.15. S se scrie un program care afieaz valorile funciei x*sin(x) pe intervalul [0,10], cu pasul 0.1.
3.16. S se scrie un program care genereaz 100 de numere aleatoare (numere ntregi inferioare lui
10000).
3.17. S se scrie un program care sorteaz cresctor 10 numere introduse de la tastatur.
3.18. S se scrie un program care numr elementele negative dintr-o secven de n elemente.
3.19. S se scrie un program care s transforme literele unui ir n litere mici.
3.20. S se scrie un program care s calculeze x la puterea y (unde x i y pot fi introduse de la
tastatur).