<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font face="Arial">Ještě jeden postřeh: Kompilátoru vůbec nevadí
        nesmyslná deklarace velikosti pole jako lokální proměnné. Klidně
        můžete napsat</font></p>
    <p><font face="Arial">buf[10000];</font></p>
    <p><font face="Arial">Čekal jsem, že bude řvát, že dojde k
        přetečení, ale je mu to jedno.<br>
      </font></p>
    <pre class="moz-signature" cols="72">Martin Záruba</pre>
    <div class="moz-cite-prefix">Dne 23.4.2024 v 13:17 Jan Waclawek
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:PC195202404231317090330dc952e13@wekPC">
      <pre class="moz-quote-pre" wrap="">Myslel som to tak, ze to alloca() sa prelozi priamo kompilatorom, nie je to
prilinkovana funkcia.

wek

----- Original Message ---------------

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Nemůľe se to stát při překladu, kdyľ neví kolik se bude alokovat.
alloca() se implementuje jen jako posunutí SP o určenou vzdálenost.

Tomáą

</pre>
        <blockquote type="cite">
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">V C++ se [alloca()] prostě nepouµívá, protoµe není potřeba. Není potřeba ani v C99, 
můµete prostě napsat 
</pre>
          </blockquote>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">Hm, variable-length array (VLA). Toto som dodnes ignoroval (najma kvoli
hroze z toho, co je o nich popisane v norme, t.j. vsetky netrivialne
pouzitia vratane [*]).
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">Ale v takomto trivialnom pripade (t.j. priama definicia s jednoduchou a
jasnou premennou ako velkost pola) to vyzera takmer uzitocne. Aj ked, na
druhej strane, to alloca() je podla mna ilustrativnejsie.
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">Vyskusal som, a avr-gcc prelozilo oboje uplne identicky (podla ocakavania -
ten alloca() je aj tak len makro pre __builtin_alloca(), takze to vedie na
nieco co sa udeje pocas prekladu, nie je to prilinkovana vec).
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">wek
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
</pre>
      </blockquote>
      <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>