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