<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Položil bych si 2 otázky:<br>
- Je to dobrý nápad? Opravdu je to nejvhodnější způsob a není lepší
to udělat nějak jinak?<br>
- Bude zajištěno, že v době kdy se bude zpracovávat ten muj.h už je
zpracován ten header, kde je případně definováno USER? Tohle se
(predpokládám) zpracovává jednoprůchodově.<br>
<br>
PL<br>
<br>
*******************<br>
<br>
<div class="moz-cite-prefix">Dne 7.5.2024 v 18:02 Martin Záruba
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:dc0e3d33-9d1d-4168-9a58-74d22f006cbc@volny.cz">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p>Mám soubor, třeba muj.h ve kterém je deklarovaná struktura x,
třeba</p>
<div style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span style="color: #00979d;">struct</span><span style="color: #4e5b61;"> </span><span style="color: #434f54;">{</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> a;</span></div><div><span style="color: #4e5b61;"> int b;
</span></div><span style="color: #434f54;">}</span><span style="color: #4e5b61;"> x;</span></div>
<p>Soubor je pomocí include vložen do hlavního programu. A já bych
potřeboval, aby uživatel, který použije #include muj.h mohl do
té struktury vložit další prvky, takže struktura by se o tyto
prvky (které v ní nejsou definované) rozšířila. Vymyslel jsem
toto:</p>
<div style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span style="color: #00979d;">struct</span><span style="color: #4e5b61;"> stru </span><span style="color: #434f54;">{</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> a;</span></div><div><span style="color: #4e5b61;"> int b;
</span></div><div><span style="color: #728e00;">#ifdef</span><span style="color: #4e5b61;"> </span><span style="color: #d35400;">user</span></div><div><span style="color: #4e5b61;"> user</span></div><div><span style="color: #728e00;">#endif</span><span style="color: #4e5b61;"> </span></div><div><span style="color: #434f54;">}</span><span style="color: #4e5b61;">;</span></div></div>
<p>A v uživatelském programu použít</p>
<div style="color: #4e5b61;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span style="color: #728e00;">#define</span><span style="color: #4e5b61;"> </span><span style="color: #d35400;">user</span><span style="color: #4e5b61;"> </span><span style="color: #005c5f;">\</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> c; </span><span style="color: #005c5f;">\</span></div><div><span style="color: #4e5b61;"> </span><span style="color: #00979d;">int</span><span style="color: #4e5b61;"> d;</span></div>
</div>
<p>Asi to vypadá jako divný požadavek, ale mě jde o to, aby
struktura x byl jeden prvek, který obsahuje jak mé, tak
uživatelem vytvořené členy.<br>
</p>
<p>Je na tom něco v nepořádku nebo to lze udělat líp?<br>
</p>
<p><br>
</p>
<pre class="moz-signature" cols="72">--
Martin Záruba</pre>
<br>
</blockquote>
<br>
</body>
</html>