[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