[so] [SO][Tema 3] Portabilitate
Costin Lupu
costin.lup at gmail.com
Tue Apr 25 09:40:10 EEST 2017
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
More information about the so
mailing list