<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<div class="moz-forward-container"><br>
<br>
-------- Továbbított üzenet --------
<table class="moz-email-headers-table" cellspacing="0"
cellpadding="0" border="0">
<tbody>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap="nowrap">Tárgy: </th>
<td>t4p4s HW-független header fájlok</td>
</tr>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap="nowrap">Dátum: </th>
<td>Fri, 1 Dec 2017 23:24:17 +0100</td>
</tr>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap="nowrap">Feladó:
</th>
<td>Lukács Dániel <a class="moz-txt-link-rfc2396E" href="mailto:dlukacs@caesar.elte.hu"><dlukacs@caesar.elte.hu></a></td>
</tr>
<tr>
<th valign="BASELINE" align="RIGHT" nowrap="nowrap">Címzett:
</th>
<td>Tejfel Máté <a class="moz-txt-link-rfc2396E" href="mailto:matej@caesar.elte.hu"><matej@caesar.elte.hu></a></td>
</tr>
</tbody>
</table>
<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<p>Kedves Máté,</p>
<p>Még nem vagyok fent a t4p4s levlistán, de ha szerinted érdemes,
akkor szívesen elküldeném ezt oda is.</p>
<p>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). <br>
</p>
<p>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. <br>
</p>
<p>A csatolt fájlokkal ez valahogy így működne:</p>
<tt>$ gcc -include hw_dep_iface.h main.c hw_dep_implem1.c </tt><tt><br>
</tt><tt>$ ./a.out</tt><tt><br>
</tt><tt>hw_dep_implem1: 1</tt><tt><br>
</tt><tt>$ gcc -include hw_dep_iface.h main.c hw_dep_implem2.c </tt><tt><br>
</tt><tt>$ ./a.out</tt><tt><br>
</tt><tt>hw_dep_implem2: 2</tt><br>
<tt>$ gcc -c -include hw_dep_iface.h main.c </tt><tt><br>
</tt><tt>$ echo $?</tt><br>
<tt>0</tt><br>
<p>Ezzel a módszerrel <br>
</p>
<ul>
<li>elkülönül az interfész az implementációtól (HW-függő
komponensektől)<br>
</li>
<li>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)<br>
</li>
<li>továbbá implementációk nélkül is el lehetne jutni a
fordításban egészen a linkelésig.<br>
</li>
</ul>
Szerinted lenne értelme így megoldani, vagy figyelmen kívül hagyok
valamit?<br>
Köszi!<br>
Üdv,<br>
Dániel<br>
</div>
</body>
</html>