[P4] Fwd: t4p4s HW-független header fájlok
Tejfel Máté
matej at caesar.elte.hu
Thu Dec 7 13:42:23 CET 2017
-------- Továbbított üzenet --------
Tárgy: t4p4s HW-független header fájlok
Dátum: Fri, 1 Dec 2017 23:24:17 +0100
Feladó: Lukács Dániel <dlukacs at caesar.elte.hu>
Címzett: Tejfel Máté <matej at caesar.elte.hu>
Kedves Máté,
Még nem vagyok fent a t4p4s levlistán, de ha szerinted érdemes, akkor
szívesen elküldeném ezt oda is.
Csütörtökön a t4p4s meetingen azt beszéltük meg, hogy jelenleg a
Makefile -ban különül el hogy melyik HW-függő header fájlt include-oljuk
fordításkor (pl. különböző alias.h változatok).
Nekem viszont van egy olyan gondolatom, hogy a header fájlok definíció
szerint az interfészt tartalmazzák, és ezért már ezeknek is
implementáció-függetlennek kellene lennie. Ha ez így van, akkor egy-egy
funkcionalitást csak egyetlen header fájlban kellene leírni, és a
Makefile -ban a header fájlok helyett inkább azt kellene változtatni,
hogy melyik implementációt linkeljük.
A csatolt fájlokkal ez valahogy így működne:
$ gcc -include hw_dep_iface.h main.c hw_dep_implem1.c
$ ./a.out
hw_dep_implem1: 1
$ gcc -include hw_dep_iface.h main.c hw_dep_implem2.c
$ ./a.out
hw_dep_implem2: 2
$ gcc -c -include hw_dep_iface.h main.c
$ echo $?
0
Ezzel a módszerrel
* elkülönül az interfész az implementációtól (HW-függő komponensektől)
* nem kell mindegyik HW-függő komponensben áthidaló alias.h -kat
csinálni, egyszerűen csak implementálni kell a függvényeket és a
típusokat (mindig struct)
* továbbá implementációk nélkül is el lehetne jutni a fordításban
egészen a linkelésig.
Szerinted lenne értelme így megoldani, vagy figyelmen kívül hagyok valamit?
Köszi!
Üdv,
Dániel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20171207/666f3dea/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hw_dep_iface.h
Type: text/x-chdr
Size: 142 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20171207/666f3dea/attachment.h>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hw_dep_implem1.c
Type: text/x-csrc
Size: 317 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20171207/666f3dea/attachment.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hw_dep_implem2.c
Type: text/x-csrc
Size: 318 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20171207/666f3dea/attachment-0001.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: main.c
Type: text/x-csrc
Size: 118 bytes
Desc: not available
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20171207/666f3dea/attachment-0002.c>
More information about the P4
mailing list