<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Ono ted je spis trendem zabranit
      uzivateli jakkoli do internich struktur zasahovat, nebo je
      pouzivat. Treba novejsi verze FreeRTOS uz maji v hlavickovych
      souborech anonymizovane prvky struktur, jen sedi delka, s kterymi
      se manipuluje zasadne API funkcemi.</div>
    <div class="moz-cite-prefix">Pro zminene ucely se pouzivaji nejake
      uzivatelem definovane ukazatele, s kterymi se ale zase pracuje jen
      prostrednictvim API funkci (context, tag atp.). Me to prijde jako
      dobry trend, ktery dost omezi  problemy s bezpecnosti a
      prenositelnosti kodu.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Dne 07.05.2024 v 19:30 Pavel Hudeček
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:99f62c36-ce63-48f1-b04b-99f17a5951b9@seznam.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Mě na tom nepřijde nic špatného, tedy za předpokladu, že je jisté,
      že se to nestane později zdrojem problémů, zejména ohledně délky
      struktury. Aneb jestli je to interní záležitost, tak je to jedno,
      ale když se to pak třeba někam pošle, nebudou data jednotlivých
      uživatelů kompatibilní.<br>
      <br>
      PH<br>
      <br>
      <div class="moz-cite-prefix">Dne 07.05.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>
      </blockquote>
      <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>
    <p><br>
    </p>
  </body>
</html>