Multumesc, Costin! Sincer sa fiu, nu am citit partea asta in laborator, iar in tema am citit 4 cuvinte (GNUmakefile, Makefile, Linux, Windows), asa ca am ramas cu impresia ca ce a fost la tema 1 era o configuratie din checker (local cand am rulat manual am folosit mereu parametrul -f).
Am actualizat arhiva rezolvand problemele de Makefile-uri si ce mai aveam in neregula pe acolo. O seara faina, Darius On Tue, Apr 25, 2017 at 9:40 AM Costin Lupu <[email protected]> wrote: > On Mon, 2017-04-24 at 19:39 +0000, Darius-Florentin Neatu via so wrote: > > Salut, > > > > > > Am incercat sa fac tema portabila. Am creat wrappere peste functiile > > de sistem si am acelasi cod in vmsim.c. > > Diferenta intre cele doua sisteme de operare este folosirea fisierului > > wrapper_lin.c, respectiv wrapper_win.c (din Makefile selectez doar un > > singur fisier care va fi compilat). > > > > > > Am cateva nelamurari. > > > > > > 1. Pentru a se considera o implementare portabila mai este necesar sa > > fac ceva? (Ex. sa reunesc cele doua fisiere in wrapper.c. Am > > considerat ca este mai bine sa am doua fisiere mai mici, decat sa am > > unul foarte mare.) > > E în regulă așa. De fapt asta e abordarea recomandată. > > > 2. Deoarece compilatoarele sunt diferite (gcc vs cl), dar si sistemele > > de make (make vs nmake), am doua fisiere Makefile (Makefile.lin si > > Makefile.win - fiecare foloseste un singur fisier wrapper-???.c). > > > > Pentru a decide ce Makefile trebuie sa folosesc in functie de SO, am > > folosit o solutie de pe stackoverflow[1] - am creat fisierul Makefile. > > Se putea obtine o solutie de compilare mai buna? > > Helăăău, ce stackoverflow? Zice la SO în lab 01 [3] și tema 1 [4] > (remember?) să folosești GNUmakefile pentru Linux și Makefile pentru > Windows. Așa ai doar 2 makefile-uri în loc de 3. > > > 3. Momentan in arhiva bag toate fisierele (surse, 1xREADME, > > 3xMakefile). Cu aceeasi arhiva trec testele pe vmchecker pe ambele > > sisteme. > > Este ok daca las arhiva asa cum este? (sa nu impart in doua arhive, sa > > nu fac 2 README-uri :D). > > E în regulă așa. Așa ar trebui să fie, mai puțin makefile-urile (vezi > observația 2 de mai sus). > > > P.S. Atasez link-ul de pe GitLab[2] pentru a putea arunca o privire > > peste cod, daca este cazul. > > > > > > [1] > http://stackoverflow.com/questions/8270391/use-the-same-makefile-for-make-linux-and-nmakewindows/30906085#30906085 > > [2] https://gitlab.cs.pub.ro/darius.neatu1995/SO > > [3] https://ocw.cs.pub.ro/courses/so/laboratoare/laborator-01 > [4] https://ocw.cs.pub.ro/courses/so/teme/tema-1#precizari_vmchecker > > > Costin > > > >
_______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
