Salut, Vlad! Vom retrage depunctarea, întrucât este doar pentru partea de bonus. Legat de feedback, am notat intern.
Numai bine, Răzvan On Sun, May 17, 2020 at 5:30 PM Vlad Lungu <vlad.lsc2...@gmail.com> wrote: > > Salut, Razvan! > > Acum am vazut, multumesc! Acea regula este, insa, de la bonus. Se rasfrange > asupra intregii teme? > > Cat despre feedback, l-am completat deja inainte sa apară aceste note și nu > mai pot adăuga. De aceea am pus aici. > > În dum., 17 mai 2020 la 17:24, Razvan Crainea <razvan.crai...@gmail.com> a > scris: >> >> Salut, Vlad! >> >> Unul din colegii tăi a reparcat o problemă legată de depunctările >> pentru regulile de clean, pe care noi am confirmat-o mai devreme. >> Drept urmare, am corijat depunctările pentru cei care au avut false >> positives, iar tu ești unul dintre ei. >> Depunctarea la tema 4 vine de la regula următoare: >> >> config_params: config_params.c >> $(CC) -Wall -o config_params config_params.c so_sched_initializer.c >> >> În această regulă compilezi mai multe (două) fișiere sursă .c >> Legat de feedback, te rugăm să notezi asta în feedback-ul completat pe >> cs.curs.pub.ro - în felul ăsta ne este mai ușor să-l integrăm anul >> viitor. >> >> Numai bine, >> Răzvan >> >> On Sun, May 17, 2020 at 5:00 PM Vlad Lungu via so <so@cursuri.cs.pub.ro> >> wrote: >> > >> > Multumesc mult de lamurire! >> > >> > Problema mea legata de "mai mult fisiere sursa" e ca fiecare regula >> > compileaza un singur fisier sursa, iar cea de construire a bibliotecii are >> > toate dependentele cu fisiere .o. Nu am doua gcc asa cum a zis teodor >> > nicaieri. In contextul asta, de la ce apare depunctarea aceea? (am regula >> > de bonus care duce la alte doua reguli care creeaza fiecare cate un >> > executabil. Sa fie de la asta?) >> > >> > Cat despre clean, tocmai am numarat fisierele dinainte de make, am dat >> > make, make clean si dupa am numarat din nou si da la fel. De aceeea intreb >> > daca se poate verifica. >> > >> > De asemenea, ca feeedback pentru la anul, cred ca ar fi util daca in lista >> > de depunctari, la categoria build, s-ar adauga mai explicit aceste >> > depunctari legate de makefile. >> > >> > În dum., 17 mai 2020 la 16:37, Paul Olaru <olarupaulstelia...@gmail.com> a >> > scris: >> >> >> >> Există niște reguli generale pentru makefile-uri, dar cea mai importantă >> >> regulă în opinia mea este ca dacă dai "make build" din nou fișierele deja >> >> compilate nu vor fi compilate din nou. >> >> >> >> Pe viitor, pentru a evita problema cu mai multe fișiere sursă, >> >> folosește-te de regulile template (nu sunt sigur că ăsta e numele corect) >> >> și folosește fișiere .o în loc de .c în dependențe. Pentru a obține >> >> fișierele .o poți face o singură regulă de tipul: >> >> >> >> %.o: %.c file1.h file2.h ... >> >> <tab>gcc -c $< -o $@ -Wall -pedantic >> >> >> >> (Ajustând desigur flagurile de compilare în această regulă generală). Nu >> >> e nevoie să faci manual câte o regulă pentru fiecare fișier .o dacă ai >> >> una de tipul ăsta generală. Și apoi la fișierul final, să zicem mylib.so, >> >> ai regula simplă: >> >> >> >> mylib.so: init.o loader.o elf.o >> >> <tab>gcc $^ -o $@ -dynamic >> >> >> >> (Ajustezi corespunzător comanda). >> >> >> >> În final, trebuie să ai o regulă de build care să nu recompileze fișierul >> >> de fiecare dată când faci rebuild. O regulă simplă ar fi: >> >> >> >> build: mylib.so >> >> .PHONY: build >> >> >> >> (Regula .PHONY e opționala dar e utilă pentru a ignora fișierele cu >> >> numele "build" dacă se vor crea) >> >> >> >> Toate aceste reguli ar fi trebuit să te obișnuiești încă din anul I cu >> >> ele, dar nu e târziu nici acum. >> >> >> >> La plângerea cu regula clean, dacă faci make build urmat de make clean >> >> ești 100% sigur că rămân exact fișierele tale din arhivă? *Orice* fișier >> >> în plus poate duce la acel warning. >> >> >> >> Dacă este relevantă opinia mea (nu garantez), aș zice că depunctarea >> >> pentru regula cu numele "tema2" e meritată (faci rebuild degeaba la unele >> >> fișiere), cea pentru regula clean e discutabilă (nu am de unde ști dacă >> >> chiar ți se șterg toate fișierele sau nu) iar depunctarea pentru unused >> >> variabile... Poate ar putea fi redusă la 0.1 (dar să îți fie învățătură >> >> de minte, în proiectele mari cu 50 de warninguri create fix pe ideologia >> >> de "it's fine" nu vrem încă unul). >> >> >> >> On Sun, May 17, 2020, 15:56 Vlad Lungu via so <so@cursuri.cs.pub.ro> >> >> wrote: >> >>> >> >>> Salut! >> >>> >> >>> M-am uitat pe vmchecker la depunctarile pe care le-am primit. La tema 2, >> >>> la ambele teme, am primit depunctare pentru numele regulii de build, >> >>> desi nu era specificat vreundeva acest detaliu. La mine se numeste >> >>> tema2, trebuia libsoloader.so. Trebuia sa facem asta?. La tema 4 pe >> >>> linux am o singura variabila neutilizata, care duce la un warning de >> >>> "unused variable". Se justifica o depunctare de 0.2 pentru "warninguri >> >>> de compilare" in acest caz? Tot la tema 4 imi primesc o depunctare >> >>> pentru ca regula clean nu sterge toate fisierele create, dar tocmai am >> >>> testat si chiar le sterge pe toate. Care este cauza? In plus, tot la >> >>> tema4, am depunctare pentru "compilarea a mai multe surse in aceeasi >> >>> regula", lucru pe care nu l-am gasit in lista de depunctari si care nu >> >>> sunt sigur la ce se refera. >> >>> >> >>> As aprecia foarte mult niste explicatii suplimentare! >> >>> >> >>> Numai bine, >> >>> Lungu-Stan Vlad-Constantin, >> >>> 334CB >> >>> _______________________________________________ >> >>> http://ocw.cs.pub.ro/courses/so/info/lista-discutii >> > >> > _______________________________________________ >> > http://ocw.cs.pub.ro/courses/so/info/lista-discutii >> >> >> >> -- >> Răzvan Crainea -- Răzvan Crainea _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii