<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font face="Arial">Proto jsem to sem napsal. Jak byste to udělal
        jinak?<br>
      </font></p>
    <p><font face="Arial">Potřebuji, aby z dat vznikl souvislý blok,
        který bude čten nadřazeným systémem jako souvislá oblast paměti.
        Bude obsahovat tu moji strukturu, což jsou ve skutečnosti data z
        bms. A za ní uživatelem specifikovaná (možná jím budu já, ale
        chci zajistit, aby do toho modulu bms se nemuselo zasahovat),
        která nevím, co přesně budou obsahovat. Nenapadá mě zatím jiný
        způsob. Přes pointer to nejde, musím být schopen odeslat data,
        ne pointer.</font></p>
    <p><font face="Arial">Prostě #define user .... musí být před
        #include. Jinak kompilátor řve, že struktura prvky, které jsou
        použité neobsahuje.<br>
      </font></p>
    <pre class="moz-signature" cols="72">Martin Záruba</pre>
    <div class="moz-cite-prefix">Dne 7.5.2024 v 20:34 Petr Labaj
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:62322832-3bec-a730-4f91-449b493d1ab0@volny.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      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>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
  </body>
</html>